shaped up routing: enabled explicit mode, and created some named routes
[zzz-floof.git] / floof / lib / base.py
index 4de5e19..d05c24d 100644 (file)
@@ -2,15 +2,18 @@
 
 Provides the BaseController class for subclassing.
 """
 
 Provides the BaseController class for subclassing.
 """
-from pylons import session, tmpl_context as c
 from pylons.controllers import WSGIController
 from pylons.templating import render_mako as render
 from pylons.controllers import WSGIController
 from pylons.templating import render_mako as render
+from pylons import config
+from floof import model
 
 
+from pylons import session, tmpl_context as c
 from floof.model.users import User
 
 class BaseController(WSGIController):
 
 from floof.model.users import User
 
 class BaseController(WSGIController):
 
-    def __before__(self, action, **params):
+    # NOTE: This could have been implemented as a middleware =]
+    def __before__(self):
         # Fetch current user object
         try:
             c.user = User.query.get(session['user_id'])
         # Fetch current user object
         try:
             c.user = User.query.get(session['user_id'])
@@ -22,4 +25,10 @@ class BaseController(WSGIController):
         # WSGIController.__call__ dispatches to the Controller method
         # the request is routed to. This routing information is
         # available in environ['pylons.routes_dict']
         # WSGIController.__call__ dispatches to the Controller method
         # the request is routed to. This routing information is
         # available in environ['pylons.routes_dict']
-        return WSGIController.__call__(self, environ, start_response)
+
+        # Insert any code to be run per request here.
+
+        try:
+            return WSGIController.__call__(self, environ, start_response)
+        finally:
+            model.Session.remove()