diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-13 23:14:42 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-13 23:14:42 -0500 |
commit | c47c37ed953689e70441c4c143e4c06f1645be7d (patch) | |
tree | f63fed482a8e9c8dcd54cf0bd18d747f8516179b /mediagoblin/app.py | |
parent | 59051a23f01eb49ed6fe6975991730021ac169ac (diff) | |
parent | 6ae8b541f957b49ae86051814097e769d20f29af (diff) | |
download | mediagoblin-c47c37ed953689e70441c4c143e4c06f1645be7d.tar.lz mediagoblin-c47c37ed953689e70441c4c143e4c06f1645be7d.tar.xz mediagoblin-c47c37ed953689e70441c4c143e4c06f1645be7d.zip |
Merge branch 'master' into f411_new_migrations
Conflicts:
mediagoblin/db/open.py
Diffstat (limited to 'mediagoblin/app.py')
-rw-r--r-- | mediagoblin/app.py | 50 |
1 files changed, 10 insertions, 40 deletions
diff --git a/mediagoblin/app.py b/mediagoblin/app.py index 523b9302..7a6a1f33 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -20,19 +20,13 @@ import urllib import routes from webob import Request, exc -from mediagoblin import routing, util, storage, staticdirect -from mediagoblin.init.config import ( - read_mediagoblin_config, generate_validation_report) +from mediagoblin import routing, util, storage from mediagoblin.db.open import setup_connection_and_db_from_config from mediagoblin.db.util import MigrationManager from mediagoblin.mg_globals import setup_globals from mediagoblin.init.celery import setup_celery_from_config -from mediagoblin.init import get_jinja_loader -from mediagoblin.workbench import WorkbenchManager - - -class Error(Exception): pass -class ImproperlyConfigured(Error): pass +from mediagoblin.init import get_jinja_loader, get_staticdirector, \ + setup_global_and_app_config, setup_workbench class MediaGoblinApp(object): @@ -56,13 +50,7 @@ class MediaGoblinApp(object): ############## # Open and setup the config - global_config, validation_result = read_mediagoblin_config(config_path) - app_config = global_config['mediagoblin'] - # report errors if necessary - validation_report = generate_validation_report( - global_config, validation_result) - if validation_report: - raise ImproperlyConfigured(validation_report) + global_config, app_config = setup_global_and_app_config(config_path) ########################################## # Setup other connections / useful objects @@ -96,19 +84,7 @@ class MediaGoblinApp(object): self.routing = routing.get_mapper() # set up staticdirector tool - if app_config.has_key('direct_remote_path'): - self.staticdirector = staticdirect.RemoteStaticDirect( - app_config['direct_remote_path'].strip()) - elif app_config.has_key('direct_remote_paths'): - direct_remote_path_lines = app_config[ - 'direct_remote_paths'].strip().splitlines() - self.staticdirector = staticdirect.MultiRemoteStaticDirect( - dict([line.strip().split(' ', 1) - for line in direct_remote_path_lines])) - else: - raise ImproperlyConfigured( - "One of direct_remote_path or " - "direct_remote_paths must be provided") + self.staticdirector = get_staticdirector(app_config) # Setup celery, if appropriate if setup_celery and not app_config.get('celery_setup_elsewhere'): @@ -128,21 +104,15 @@ class MediaGoblinApp(object): ####################################################### setup_globals( - app_config=app_config, - global_config=global_config, - - # TODO: No need to set these two up as globals, we could - # just read them out of mg_globals.app_config - email_sender_address=app_config['email_sender_address'], - email_debug_mode=app_config['email_debug_mode'], - - # Actual, useful to everyone objects app=self, db_connection=self.connection, database=self.db, public_store=self.public_store, - queue_store=self.queue_store, - workbench_manager=WorkbenchManager(app_config['workbench_path'])) + queue_store=self.queue_store) + + # Workbench *currently* only used by celery, so this only + # matters in always eager mode :) + setup_workbench() def __call__(self, environ, start_response): request = Request(environ) |