summaryrefslogtreecommitdiff
path: root/src/mailman/styles/manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/styles/manager.py')
-rw-r--r--src/mailman/styles/manager.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mailman/styles/manager.py b/src/mailman/styles/manager.py
index f1d3f1dfb..c2729abfb 100644
--- a/src/mailman/styles/manager.py
+++ b/src/mailman/styles/manager.py
@@ -17,29 +17,31 @@
"""Style manager."""
-from __future__ import absolute_import, unicode_literals
+from __future__ import absolute_import, print_function, unicode_literals
__metaclass__ = type
__all__ = [
'StyleManager',
+ 'handle_ConfigurationUpdatedEvent',
]
from operator import attrgetter
-from zope.interface import implements
+from zope.component import getUtility
+from zope.interface import implementer
from zope.interface.verify import verifyObject
+from mailman.interfaces.configuration import ConfigurationUpdatedEvent
from mailman.interfaces.styles import (
DuplicateStyleError, IStyle, IStyleManager)
from mailman.utilities.modules import call_name
+@implementer(IStyleManager)
class StyleManager:
"""The built-in style manager."""
- implements(IStyleManager)
-
def __init__(self):
"""Install all styles from the configuration files."""
self._styles = {}
@@ -89,3 +91,9 @@ class StyleManager:
"""See `IStyleManager`."""
# Let KeyErrors percolate up.
del self._styles[style.name]
+
+
+
+def handle_ConfigurationUpdatedEvent(event):
+ if isinstance(event, ConfigurationUpdatedEvent):
+ getUtility(IStyleManager).populate()