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.
This commit is contained in:
Elrond 2011-07-04 23:57:45 +02:00
parent c85c9dc712
commit fe289be4c8
2 changed files with 16 additions and 14 deletions

View File

@ -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

View File

@ -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