Change the ordering of the app's __call__ method (attach things to request first)
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 20 Aug 2011 20:00:25 +0000 (15:00 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 20 Aug 2011 20:00:25 +0000 (15:00 -0500)
This will make it easier for us to call something like a 404 page rendering method
before the matching check is done.

mediagoblin/app.py

index c1ee3d773273edcccc7b60009457dde73ba71fbd..96a7ad61f5ffa35ae0ec8677a06d136e2cef1e80 100644 (file)
@@ -101,6 +101,23 @@ class MediaGoblinApp(object):
         ## Routing / controller loading stuff
         route_match = self.routing.match(path_info)
 
+        ## Attach utilities to the request object
+        request.matchdict = route_match
+        request.urlgen = routes.URLGenerator(self.routing, environ)
+        # Do we really want to load this via middleware?  Maybe?
+        request.session = request.environ['beaker.session']
+        # Attach self as request.app
+        # Also attach a few utilities from request.app for convenience?
+        request.app = self
+        request.locale = util.get_locale_from_request(request)
+            
+        request.template_env = util.get_jinja_env(
+            self.template_loader, request.locale)
+        request.db = self.db
+        request.staticdirect = self.staticdirector
+
+        util.setup_user_in_request(request)
+
         # No matching page?
         if route_match is None:
             # Try to do see if we have a match with a trailing slash
@@ -121,23 +138,6 @@ class MediaGoblinApp(object):
         controller = util.import_component(route_match['controller'])
         request.start_response = start_response
 
-        ## Attach utilities to the request object
-        request.matchdict = route_match
-        request.urlgen = routes.URLGenerator(self.routing, environ)
-        # Do we really want to load this via middleware?  Maybe?
-        request.session = request.environ['beaker.session']
-        # Attach self as request.app
-        # Also attach a few utilities from request.app for convenience?
-        request.app = self
-        request.locale = util.get_locale_from_request(request)
-            
-        request.template_env = util.get_jinja_env(
-            self.template_loader, request.locale)
-        request.db = self.db
-        request.staticdirect = self.staticdirector
-
-        util.setup_user_in_request(request)
-
         return controller(request)(environ, start_response)