diff options
| author | Barry Warsaw | 2008-02-27 01:26:18 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2008-02-27 01:26:18 -0500 |
| commit | a1c73f6c305c7f74987d99855ba59d8fa823c253 (patch) | |
| tree | 65696889450862357c9e05c8e9a589f1bdc074ac /Mailman/initialize.py | |
| parent | 3f31f8cce369529d177cfb5a7c66346ec1e12130 (diff) | |
| download | mailman-a1c73f6c305c7f74987d99855ba59d8fa823c253.tar.gz mailman-a1c73f6c305c7f74987d99855ba59d8fa823c253.tar.zst mailman-a1c73f6c305c7f74987d99855ba59d8fa823c253.zip | |
Diffstat (limited to 'Mailman/initialize.py')
| -rw-r--r-- | Mailman/initialize.py | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/Mailman/initialize.py b/Mailman/initialize.py deleted file mode 100644 index 4b4aa4898..000000000 --- a/Mailman/initialize.py +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright (C) 2006-2008 by the Free Software Foundation, Inc. -# -# This program 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 2 -# of the License, or (at your option) any later version. -# -# This program 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 this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -# USA. - -"""Initialize all global state. - -Every entrance into the Mailman system, be it by command line, mail program, -or cgi, must call the initialize function here in order for the system's -global state to be set up properly. Typically this is called after command -line argument parsing, since some of the initialization behavior is controlled -by the command line arguments. -""" - -import os - -from zope.interface.verify import verifyObject - -import Mailman.configuration -import Mailman.loginit - -from Mailman.app.plugins import get_plugin -from Mailman.interfaces import IDatabase - - - -# These initialization calls are separated for the testing framework, which -# needs to do some internal calculations after config file loading and log -# initialization, but before database initialization. Generally all other -# code will just call initialize(). - -def initialize_1(config_path, propagate_logs): - # By default, set the umask so that only owner and group can read and - # write our files. Specifically we must have g+rw and we probably want - # o-rwx although I think in most cases it doesn't hurt if other can read - # or write the files. Note that the Pipermail archive has more - # restrictive permissions in order to handle private archives, but it - # handles that correctly. - os.umask(007) - Mailman.configuration.config.load(config_path) - # Create the queue and log directories if they don't already exist. - Mailman.configuration.config.ensure_directories_exist() - Mailman.loginit.initialize(propagate_logs) - - -def initialize_2(debug=False): - database_plugin = get_plugin('mailman.database') - # Instantiate the database plugin, ensure that it's of the right type, and - # initialize it. Then stash the object on our configuration object. - database = database_plugin() - verifyObject(IDatabase, database) - database.initialize(debug) - Mailman.configuration.config.db = database - # Initialize the rules and chains. Do the imports here so as to avoid - # circular imports. - from Mailman.app.chains import initialize as initialize_chains - from Mailman.app.rules import initialize as initialize_rules - from Mailman.app.pipelines import initialize as initialize_pipelines - initialize_rules() - initialize_chains() - initialize_pipelines() - - -def initialize(config_path=None, propagate_logs=False): - initialize_1(config_path, propagate_logs) - initialize_2() |
