J'essaie d'accéder à ufw
avec python, mais à la ligne 53 de backend.py
, ils soulèvent une erreur bizarre qui n'a aucun sens:
Traceback (most recent call last):
File "mymodule.py", line 1467, in <module>
print backend.UFWBackend('notused', False).get_rules()
File "/usr/lib/python2.7/dist-packages/ufw/backend.py", line 53, in __init__
self._read_rules()
AttributeError: UFWBackend instance has no attribute '_read_rules'
Voici le code qui déclenche cette erreur:
backend.UFWBackend('notused', False).get_rules()
Il y a un minimum de commentaires et de chaînes de doc dans tout le code, et il y a des attributs et des méthodes inutilisés et non déclarés partout, donc la navigation a été compliquée.
Alors je l'ai trouvé. Sans aucun commentaire/documentation ou erreurs Pythonic évidentes, ils laissent simplement la rupture avec quelque chose qui ne vous dit pas ce qui se passe. Au lieu de déclencher un NotImplementedError , ils le laissent simplement échouer avec un AttributeError
. Cela ne ressemble tout simplement pas à la façon dont le code open source devrait fonctionner, mais que sais-je?.
Mais comme pour ma réponse: Je dois sous-classer la classe UFWBackend
et implémenter les méthodes moi-même.