diff options
| author | J08nY | 2017-07-04 22:06:07 +0200 |
|---|---|---|
| committer | J08nY | 2017-08-07 18:18:00 +0200 |
| commit | 26f31b20c3cad6217f38ce8ded63c73da66ff3f8 (patch) | |
| tree | 1a8ac59b693ca1e0ff5ca0dbfd3f7475cd275dfc /src | |
| parent | bf8550eaa2b65dd6c546eaf153dfefc8d2f4fe5f (diff) | |
| download | mailman-26f31b20c3cad6217f38ce8ded63c73da66ff3f8.tar.gz mailman-26f31b20c3cad6217f38ce8ded63c73da66ff3f8.tar.zst mailman-26f31b20c3cad6217f38ce8ded63c73da66ff3f8.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/config/config.py | 1 | ||||
| -rw-r--r-- | src/mailman/core/initialize.py | 2 | ||||
| -rw-r--r-- | src/mailman/core/workflows.py | 34 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py index 61c9fe6ed..4a4eadff5 100644 --- a/src/mailman/config/config.py +++ b/src/mailman/config/config.py @@ -76,6 +76,7 @@ class Configuration: self.handlers = {} self.pipelines = {} self.commands = {} + self.workflows = {} self.password_context = None self.db = None diff --git a/src/mailman/core/initialize.py b/src/mailman/core/initialize.py index dc67e9a68..dfa365448 100644 --- a/src/mailman/core/initialize.py +++ b/src/mailman/core/initialize.py @@ -156,6 +156,7 @@ def initialize_2(debug=False, propagate_logs=None, testing=False): config.db = getUtility(IDatabaseFactory, utility_name).create() # Initialize the rules and chains. Do the imports here so as to avoid # circular imports. + from mailman.core.workflows import initialize as initialize_workflows from mailman.app.commands import initialize as initialize_commands from mailman.core.chains import initialize as initialize_chains from mailman.core.pipelines import initialize as initialize_pipelines @@ -165,6 +166,7 @@ def initialize_2(debug=False, propagate_logs=None, testing=False): initialize_chains() initialize_pipelines() initialize_commands() + initialize_workflows() @public diff --git a/src/mailman/core/workflows.py b/src/mailman/core/workflows.py new file mode 100644 index 000000000..b16da7df9 --- /dev/null +++ b/src/mailman/core/workflows.py @@ -0,0 +1,34 @@ +# Copyright (C) 2007-2017 by the Free Software Foundation, Inc. +# +# This file is part of GNU Mailman. +# +# GNU Mailman is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. + +"""""" + +from mailman.config import config +from mailman.interfaces.workflows import IWorkflow +from mailman.utilities.modules import find_components +from public import public + + +@public +def initialize(): + """Find and register all workflows in all plugins.""" + for workflow in find_components('mailman.workflows', IWorkflow): + assert workflow.name not in config.workflows, ( + 'Duplicate key "{}" found in {}: "{}"'.format( + workflow.name, config.workflows, + config.workflows[workflow.name])) + config.workflows[workflow.name] = workflow |
