diff options
| author | Barry Warsaw | 2012-07-02 16:56:35 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2012-07-02 16:56:35 -0400 |
| commit | bbbf437a64e2bcf2ac72c329f0faf53ed91f3432 (patch) | |
| tree | 3f6a9e84a67b003b65888a0ec2f7bb3397b4e26a /src/mailman/config/config.py | |
| parent | 8a84c3602094517d8690b6c7ab7e25c1570d59b7 (diff) | |
| download | mailman-bbbf437a64e2bcf2ac72c329f0faf53ed91f3432.tar.gz mailman-bbbf437a64e2bcf2ac72c329f0faf53ed91f3432.tar.zst mailman-bbbf437a64e2bcf2ac72c329f0faf53ed91f3432.zip | |
More consistency in the way post-configuration changes are processed. Less
magic in the _post_process() method, more ConfigurationUpdatedEvents. More
centralization of event initialization.
Added property Configuration.language_configs.
Instead of initializing events in initialize_2(), initialize them in
initialize_1() and do it before the configuration is loaded.
Diffstat (limited to 'src/mailman/config/config.py')
| -rw-r--r-- | src/mailman/config/config.py | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py index 0cd5e0e32..f6c39fcec 100644 --- a/src/mailman/config/config.py +++ b/src/mailman/config/config.py @@ -41,7 +41,6 @@ from mailman import version from mailman.interfaces.configuration import ( ConfigurationUpdatedEvent, IConfiguration) from mailman.interfaces.languages import ILanguageManager -from mailman.interfaces.styles import IStyleManager from mailman.utilities.filesystem import makedirs from mailman.utilities.modules import call_name @@ -117,26 +116,7 @@ class Configuration: """Perform post-processing after loading the configuration files.""" # Expand and set up all directories. self._expand_paths() - # Set up the switchboards. Import this here to avoid circular imports. - from mailman.core.switchboard import Switchboard - 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] - language_manager.add( - code, language.charset, language.description) - # The default language must always be available. - 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() - getUtility(IStyleManager).populate() - # Set the default system language. - from mailman.core.i18n import _ - _.default = self.mailman.default_language notify(ConfigurationUpdatedEvent(self)) def _expand_paths(self): @@ -249,3 +229,9 @@ class Configuration: """Iterate over all the style configuration sections.""" for section in self._config.getByCategory('style', []): yield section + + @property + def language_configs(self): + """Iterate over all the language configuration sections.""" + for section in self._config.getByCategory('language', []): + yield section |
