From c85c9dc712f38af1403572f9367edc692306dc02 Mon Sep 17 00:00:00 2001 From: Elrond Date: Mon, 4 Jul 2011 23:47:13 +0200 Subject: [PATCH] Move setting up of staticdirector to init submodule This duplicates some exceptions, which will be fixed very soon. --- mediagoblin/app.py | 18 +++--------------- mediagoblin/init/__init__.py | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 15 deletions(-) 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'): diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py index b8ed2456..4bf69158 100644 --- a/mediagoblin/init/__init__.py +++ b/mediagoblin/init/__init__.py @@ -15,6 +15,11 @@ # along with this program. If not, see . import jinja2 +from mediagoblin import staticdirect + + +class Error(Exception): pass +class ImproperlyConfigured(Error): pass def get_jinja_loader(user_template_path=None): @@ -31,3 +36,19 @@ def get_jinja_loader(user_template_path=None): jinja2.PackageLoader('mediagoblin', 'templates')]) else: return jinja2.PackageLoader('mediagoblin', 'templates') + + +def get_staticdirector(app_config): + if app_config.has_key('direct_remote_path'): + return 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() + return 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") -- 2.25.1