Part of spamfighter.core.rules View Source View In Hierarchy
Правило анализа сообщений может быть:
В случае функции правило должно иметь вид:
def rule(domain, message, arg1, arg2=33)
где:
domain (spamfighter.interfaces.IDomain)
- текущий домен;
message (spamfighter.interfaces.IMessage)
- обрабатываемое сообщение;
arg1, arg2 - дополнительные
параметры правил анализа;
rule).
Класс должен иметь следующий вид:
class Rule(object):
def __init__(self, arg1, arg2=33):
...
def analyze(domain, message):
...
Смысл полей аналогично случаю функции, именем правила будет имя класса.
| Instance Variables | rules | хэш по имени зарегистрированных правил
(type: dict
) |
| Method | __init__ | Конструктор. |
| Method | registerRule | Добавить новое правило (зарегистрировать). |
| Method | unregisterRule | Удалить ранее зарегистрированное правило. |
| Method | instanciateRule | Инстанциировать правило, создать его экземпляр с указанными параметрами. |
| Method | getRuleNames | Получить имена всех правил. |
| Parameters | rule | новое правило
(type: func или class
) |
| Raises | DuplicateRuleError | если правило с таким же именем уже было зарегистрировано |
| Parameters | rule | новое правило
(type: func или class
) |
| Raises | RuleNotFoundError | правило с указанным имененем не обнаружено |
Возвращает функцию, в которой должно остаться только два свободных параметра: домен и сообщение.
| Parameters | name | имя правила
(type: str
) |
| Returns | инстанциированное правило
(type: func
) | |
| Raises | RuleNotFoundError | правило с указанным имененем не обнаружено |
| Returns | список имен правил
(type: list(str)
) | |