aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2011-07-04 23:57:45 +0200
committerElrond <elrond+mediagoblin.org@samba-tng.org>2011-07-04 23:57:45 +0200
commitfe289be4c85774b1d48f9db1ef644ee88b672e08 (patch)
treecac754b839a0744110cb5906ce3d35b7ed22ef20
parentc85c9dc712f38af1403572f9367edc692306dc02 (diff)
downloadmediagoblin-fe289be4c85774b1d48f9db1ef644ee88b672e08.tar.lz
mediagoblin-fe289be4c85774b1d48f9db1ef644ee88b672e08.tar.xz
mediagoblin-fe289be4c85774b1d48f9db1ef644ee88b672e08.zip
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.
-rw-r--r--mediagoblin/app.py17
-rw-r--r--mediagoblin/init/__init__.py13
2 files changed, 16 insertions, 14 deletions
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
diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py
index 4bf69158..4a14fdf8 100644
--- a/mediagoblin/init/__init__.py
+++ b/mediagoblin/init/__init__.py
@@ -16,12 +16,25 @@
import jinja2
from mediagoblin import staticdirect
+from mediagoblin.init.config import (
+ read_mediagoblin_config, generate_validation_report)
class Error(Exception): pass
class ImproperlyConfigured(Error): pass
+def setup_global_and_app_config(config_path):
+ 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)
+
+ return global_config, app_config
+
def get_jinja_loader(user_template_path=None):
"""
Set up the Jinja template loaders, possibly allowing for user