pyflakes no se ocupa muy bien con el siguiente código:pyflakes fix se ocupan de @property decorador colocador
@property
def nodes(self):
return self._nodes
@nodes.setter
def nodes(self, nodes):
"""
set the nodes on this object.
"""
assert nodes != [] # without nodes no route..
self.node_names = [node.name for node in nodes]
self._nodes = nodes
Uso de vim y syntastic que utiliza pyflakes me sale el siguiente error:
W806 redefinition of function 'nodes' from line 5
Así Recibo advertencias sobre @nodes.setter
porque redefino nodes
.
¿Cómo desactivo esta advertencia inútil ya que este código es correcto? ¿O qué controlador de Python trata este código correctamente?
actualización
me encontré con algunos problemas cuando refactorizado mi código ya que las propiedades y funciones tienen diferentes comportamientos herencia. El acceso a las propiedades de una clase base es diferente. ver:
- How to call a property of the base class if this property is being overwritten in the derived class?.
- Python derived class and base class attributes?
así que ahora tienden a evitar esta sintaxis y el uso de las funciones propias en su lugar.
mi código se rompe si, si aplicas esas 'correcciones' sinse, yo uso la anulación '__setattr__' donde la llamada' Object .__ setattr__' que hago falla si cambio el nombre del método setters. No puede encontrar el método de nodos. – Stephan
no podrías seguirlo con 'del _nodes_setter' –