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 /mediagoblin/init | |
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.
Diffstat (limited to 'mediagoblin/init')
-rw-r--r-- | mediagoblin/init/__init__.py | 13 |
1 files changed, 13 insertions, 0 deletions
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 |