terom@3: # encoding: utf-8 terom@178: import pvl.web terom@178: from pvl.web import html, urls terom@7: terom@178: import logging; log = logging.getLogger('pvl.verkko.web') terom@4: terom@178: class DatabaseHandler (pvl.web.Handler) : terom@178: """ terom@178: Request handler with pvl.verkko.Database session terom@178: """ terom@0: terom@7: def __init__ (self, app, request, urls, params) : terom@178: super(DatabaseHandler, self).__init__(app, request, urls, params) terom@3: terom@16: # new ORM session per request terom@16: self.db = app.db.session() terom@6: terom@26: def cleanup (self) : terom@26: """ terom@151: After request processing. terom@26: """ terom@26: terom@26: # XXX: SQLAlchemy doesn't automatically close these...? terom@26: self.db.close() terom@178: terom@178: class Application (pvl.web.Application) : terom@178: """ terom@178: Application with pvl.verkko.Database terom@178: """ terom@178: terom@178: def __init__ (self, db, **opts) : terom@178: """ terom@178: db - pvl.verkko.Database terom@178: """ terom@178: terom@178: super(Application, self).__init__(**opts) terom@178: terom@178: self.db = db terom@178: