aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/init
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 /mediagoblin/init
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.
Diffstat (limited to 'mediagoblin/init')
-rw-r--r--mediagoblin/init/__init__.py13
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