Added session support w/ beaker

This commit is contained in:
Christopher Allan Webber 2010-07-18 15:59:23 -05:00
parent bda3405342
commit b61874b245

View File

@ -1,9 +1,10 @@
import sys import sys
import urllib import urllib
from webob import Request, exc from beaker.middleware import SessionMiddleware
import routes import routes
import pymongo import pymongo
from webob import Request, exc
from mediagoblin import routing, util from mediagoblin import routing, util
@ -58,6 +59,7 @@ class MediagoblinApp(object):
request.app = self request.app = self
request.template_env = self.template_env request.template_env = self.template_env
request.urlgen = routes.URLGenerator(self.routing, environ) request.urlgen = routes.URLGenerator(self.routing, environ)
request.session = request.environ['beaker.session']
return controller(request)(environ, start_response) return controller(request)(environ, start_response)
@ -66,6 +68,11 @@ def paste_app_factory(global_config, **kw):
connection = pymongo.Connection() connection = pymongo.Connection()
db = connection[kw.get('db_name', 'mediagoblin')] db = connection[kw.get('db_name', 'mediagoblin')]
return MediagoblinApp( mgoblin_app = MediagoblinApp(
db, db, user_template_path=kw.get('local_templates'))
user_template_path=kw.get('local_templates')) beakered_app = SessionMiddleware(
mgoblin_app,
{'session.type': 'file',
'session.cookie_expires': True})
return beakered_app