web-dev-qa-db-fra.com

UFW python

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.

3
notbad.jpeg

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.

3
notbad.jpeg