from webob import Request, exc
from mediagoblin import routing, middleware
-from mediagoblin.tools import common, translate, template, response
+from mediagoblin.tools import common, translate, template
+from mediagoblin.tools.response import render_404
from mediagoblin.tools import request as mg_request
from mediagoblin.mg_globals import setup_globals
from mediagoblin.init.celery import setup_celery_from_config
# object.
#######################################################
- setup_globals(app = self)
+ setup_globals(app=self)
# Workbench *currently* only used by celery, so this only
# matters in always eager mode :)
self.middleware = [common.import_component(m)(self)
for m in middleware.ENABLED_MIDDLEWARE]
-
def __call__(self, environ, start_response):
request = Request(environ)
# Okay, no matches. 404 time!
request.matchdict = {} # in case our template expects it
- return response.render_404(request)(environ, start_response)
+ return render_404(request)(environ, start_response)
controller = common.import_component(route_match['controller'])
request.start_response = start_response
def paste_app_factory(global_config, **app_config):
- mgoblin_app = MediaGoblinApp(app_config['config'])
+ configs = app_config['config'].split()
+ mediagoblin_config = None
+ for config in configs:
+ if os.path.exists(config) and os.access(config, os.R_OK):
+ mediagoblin_config = config
+ break
+
+ if not mediagoblin_config:
+ raise IOError("Usable mediagoblin config not found.")
+
+ mgoblin_app = MediaGoblinApp(mediagoblin_config)
return mgoblin_app