summaryrefslogtreecommitdiff
path: root/src/mailman/config/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/config/config.py')
-rw-r--r--src/mailman/config/config.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py
index c64eb3ef5..11b2d78b6 100644
--- a/src/mailman/config/config.py
+++ b/src/mailman/config/config.py
@@ -32,11 +32,12 @@ import logging
from lazr.config import ConfigSchema, as_boolean
from pkg_resources import resource_stream
+from zope.component import getUtility
from zope.interface import Interface, implements
from mailman import version
from mailman.core import errors
-from mailman.languages.manager import LanguageManager
+from mailman.interfaces.languages import ILanguageManager
from mailman.styles.manager import StyleManager
from mailman.utilities.filesystem import makedirs
from mailman.utilities.modules import call_name
@@ -58,7 +59,6 @@ class Configuration:
def __init__(self):
self.switchboards = {}
- self.languages = LanguageManager()
self.style_manager = StyleManager()
self.QFILE_SCHEMA_VERSION = version.QFILE_SCHEMA_VERSION
self._config = None
@@ -73,7 +73,7 @@ class Configuration:
def _clear(self):
"""Clear the cached configuration variables."""
self.switchboards.clear()
- self.languages = LanguageManager()
+ getUtility(ILanguageManager).clear()
def __getattr__(self, name):
"""Delegate to the configuration object."""
@@ -143,13 +143,16 @@ class Configuration:
Switchboard.initialize()
# Set up all the languages.
languages = self._config.getByCategory('language', [])
+ language_manager = getUtility(ILanguageManager)
for language in languages:
if language.enabled:
code = language.name.split('.')[1]
- self.languages.add(
+ language_manager.add(
code, language.charset, language.description)
# The default language must always be available.
- assert self._config.mailman.default_language in self.languages
+ assert self._config.mailman.default_language in language_manager, (
+ 'System default language code not defined: %s' %
+ self._config.mailman.default_language)
self.ensure_directories_exist()
self.style_manager.populate()
# Set the default system language.