summaryrefslogtreecommitdiff
path: root/Mailman/app/rules.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/app/rules.py')
-rw-r--r--Mailman/app/rules.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Mailman/app/rules.py b/Mailman/app/rules.py
index 948ee7dd7..a3846541e 100644
--- a/Mailman/app/rules.py
+++ b/Mailman/app/rules.py
@@ -21,15 +21,21 @@ __all__ = [
'initialize',
]
+
+from zope.interface.verify import verifyObject
+
from Mailman.app.plugins import get_plugins
from Mailman.configuration import config
+from Mailman.interfaces import IRule
def initialize():
"""Find and register all rules in all plugins."""
for rule_finder in get_plugins('mailman.rules'):
- for rule in rule_finder():
+ for rule_class in rule_finder():
+ rule = rule_class()
+ verifyObject(IRule, rule)
assert rule.name not in config.rules, (
'Duplicate rule "%s" found in %s' % (rule.name, rule_finder))
config.rules[rule.name] = rule