--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
[corta]
Exatamente, mas se eu quebro um AND ou OR, eu tenho erro de sintaxe:
if jose = 1 AND maria = 2 AND manuel = 4 OR
ALL = 10:
Isso me gera erro de sintaxe.
[corta]
.all()
):
Alinhando as duas linhas do meio com o ponto do ".query", talvez comentando oportunamente. Eu costumo alinhar parêntesis/colchete/chave de início com o de fim quanto preciso de muitas linhas (e.g. testes parametrizados no pytest, chaves em definição de dicionários, etc.), mas você poderia manter o final na mesma linha do .all(). Quanto a atribuições intermediárias, os argumentos me preocuparam ("modelos.Endereco_ip" aparece duas vezes, uma condição de seleção mais complicada poderia ficar enorme), mas não tanto o aninhamento de query, filter e all. Outra opção, parecida:
for ips in modelos.db.session.query(modelos.Endereco_ip) \
.filter(modelos.Endereco_ip.id_nic == iface.id) \
.all():
ou então, usando variáveis intermediárias para os argumentos:
ipaddr = modelos.Endereco_ip
cond = ipaddr.id_nic == iface.id
for ips in modelos.db.session.query(ipaddr).filter(cond).all():
Além de tentar seguir a pep8 (ninja-ide já tem integrado ou você pode instalar plugins ou instalar a própria pep8: pip install pep8. E usar ela em seu código: pep8 seu_código.py), você pode usar a contrabarra, usar parêntese e aninhar de acordo com os parêntese também é uma boa solução também.
A pep8 está disponível para FreeBSD também grande Guga -:)
Daniel Melo (d4n1)