diff options
| author | Barry Warsaw | 2012-07-25 17:48:47 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2012-07-25 17:48:47 -0400 |
| commit | c15688eb88db81340a7602093134e10e8927b2fc (patch) | |
| tree | 11fc83bf64a436fd39492441e3383a109b02d867 /src/mailman/core/initialize.py | |
| parent | 3ecb13338d36f7f4bccb609bdb2d54ff11359f8f (diff) | |
| download | mailman-c15688eb88db81340a7602093134e10e8927b2fc.tar.gz mailman-c15688eb88db81340a7602093134e10e8927b2fc.tar.zst mailman-c15688eb88db81340a7602093134e10e8927b2fc.zip | |
Diffstat (limited to 'src/mailman/core/initialize.py')
| -rw-r--r-- | src/mailman/core/initialize.py | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/mailman/core/initialize.py b/src/mailman/core/initialize.py index b359928cc..3e927cc40 100644 --- a/src/mailman/core/initialize.py +++ b/src/mailman/core/initialize.py @@ -40,13 +40,13 @@ import os import sys from pkg_resources import resource_string +from zope.component import getUtility from zope.configuration import xmlconfig -from zope.interface.verify import verifyObject import mailman.config.config import mailman.core.logging -from mailman.interfaces.database import IDatabase +from mailman.interfaces.database import IDatabaseFactory from mailman.utilities.modules import call_name # The test infrastructure uses this to prevent the search and loading of any @@ -125,7 +125,7 @@ def initialize_1(config_path=None): mailman.config.config.load(config_path) -def initialize_2(debug=False, propagate_logs=None): +def initialize_2(debug=False, propagate_logs=None, testing=False): """Second initialization step. * Database @@ -149,13 +149,8 @@ def initialize_2(debug=False, propagate_logs=None): call_name(config.mailman.pre_hook) # Instantiate the database class, ensure that it's of the right type, and # initialize it. Then stash the object on our configuration object. - database_class = config.database['class'] - database = call_name(database_class) - verifyObject(IDatabase, database) - database.initialize(debug) - database.load_migrations() - database.commit() - config.db = database + utility_name = ('testing' if testing else 'production') + config.db = getUtility(IDatabaseFactory, utility_name).create() # Initialize the rules and chains. Do the imports here so as to avoid # circular imports. from mailman.app.commands import initialize as initialize_commands |
