diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-07-04 23:57:45 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-07-04 23:57:45 +0200 |
commit | fe289be4c85774b1d48f9db1ef644ee88b672e08 (patch) | |
tree | cac754b839a0744110cb5906ce3d35b7ed22ef20 | |
parent | c85c9dc712f38af1403572f9367edc692306dc02 (diff) | |
download | mediagoblin-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.py | 17 | ||||
-rw-r--r-- | mediagoblin/init/__init__.py | 13 |
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 |