Я пытаюсь получить доступ к ufw
через python, но в строке 53 из backend.py
они вызывают странную ошибку, которая не имеет смысла:
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'
Вот код, который вызывает эту ошибку :
backend.UFWBackend('notused', False).get_rules()
В коде есть минимальное количество комментариев и строк документации, а также везде неиспользуемые и необъявленные атрибуты и методы, поэтому навигация по ним затруднена.
Итак, я нашел это. Без каких-либо комментариев / документации или явных питонических ошибок, они просто позволили этому порвать с чем-то, что не скажет вам, что происходит. Вместо того, чтобы вызывать NotImplementedError , они просто позволяют ему потерпеть неудачу с AttributeError
. Просто не похоже, как должен работать открытый исходный код, но что я знаю.
Но что касается моего ответа: Мне нужно создать подкласс класса UFWBackend
и реализовать методы самостоятельно.