From c85c9dc712f38af1403572f9367edc692306dc02 Mon Sep 17 00:00:00 2001 From: Elrond Date: Mon, 4 Jul 2011 23:47:13 +0200 Subject: Move setting up of staticdirector to init submodule This duplicates some exceptions, which will be fixed very soon. --- mediagoblin/app.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'mediagoblin/app.py') diff --git a/mediagoblin/app.py b/mediagoblin/app.py index 9454b403..ab8549cb 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -20,13 +20,13 @@ import urllib import routes from webob import Request, exc -from mediagoblin import routing, util, storage, staticdirect +from mediagoblin import routing, util, storage from mediagoblin.init.config import ( read_mediagoblin_config, generate_validation_report) from mediagoblin.db.open import setup_connection_and_db_from_config 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.init import get_jinja_loader, get_staticdirector from mediagoblin.workbench import WorkbenchManager @@ -85,19 +85,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'): -- cgit v1.2.3 From fe289be4c85774b1d48f9db1ef644ee88b672e08 Mon Sep 17 00:00:00 2001 From: Elrond Date: Mon, 4 Jul 2011 23:57:45 +0200 Subject: Create setup_global_and_app_config Moving the config reading and error reporting from app.py to init/__init__.py. Straight forward. This also fixes the duplicated exceptions. --- mediagoblin/app.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'mediagoblin/app.py') diff --git a/mediagoblin/app.py b/mediagoblin/app.py index ab8549cb..0ef670d7 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -21,19 +21,14 @@ import routes from webob import Request, exc from mediagoblin import routing, util, storage -from mediagoblin.init.config import ( - read_mediagoblin_config, generate_validation_report) from mediagoblin.db.open import setup_connection_and_db_from_config from mediagoblin.mg_globals import setup_globals from mediagoblin.init.celery import setup_celery_from_config -from mediagoblin.init import get_jinja_loader, get_staticdirector +from mediagoblin.init import get_jinja_loader, get_staticdirector, \ + setup_global_and_app_config from mediagoblin.workbench import WorkbenchManager -class Error(Exception): pass -class ImproperlyConfigured(Error): pass - - class MediaGoblinApp(object): """ WSGI application of MediaGoblin @@ -55,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 -- cgit v1.2.3 From cca5d55d40fe5b4f097e015c72cbd8e6c4c3232a Mon Sep 17 00:00:00 2001 From: Elrond Date: Tue, 5 Jul 2011 00:02:04 +0200 Subject: Let setup_global_and_app_config call setup_globals Let setup_global_and_app_config set the global and app config in the mg_globals already. This way, the config is available to everyone very early. --- mediagoblin/app.py | 3 --- 1 file changed, 3 deletions(-) (limited to 'mediagoblin/app.py') diff --git a/mediagoblin/app.py b/mediagoblin/app.py index 0ef670d7..6d6346d2 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -94,9 +94,6 @@ 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'], -- cgit v1.2.3 From 7664b4db81f1449b37c774cecb4fba4a505ae5d0 Mon Sep 17 00:00:00 2001 From: Elrond Date: Thu, 7 Jul 2011 22:08:20 +0200 Subject: Factor setup_workbench into init submodule. --- mediagoblin/app.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'mediagoblin/app.py') diff --git a/mediagoblin/app.py b/mediagoblin/app.py index 6d6346d2..c5fcc1dd 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -25,8 +25,7 @@ from mediagoblin.db.open import setup_connection_and_db_from_config from mediagoblin.mg_globals import setup_globals from mediagoblin.init.celery import setup_celery_from_config from mediagoblin.init import get_jinja_loader, get_staticdirector, \ - setup_global_and_app_config -from mediagoblin.workbench import WorkbenchManager + setup_global_and_app_config, setup_workbench class MediaGoblinApp(object): @@ -104,8 +103,8 @@ class MediaGoblinApp(object): 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) + setup_workbench() def __call__(self, environ, start_response): request = Request(environ) -- cgit v1.2.3