pvl/verkko/web.py
author Tero Marttila <terom@paivola.fi>
Mon, 31 Mar 2014 20:14:44 +0300
changeset 419 8783e036174b
parent 178 f9f5e669bace
permissions -rw-r--r--
pvl.hosts-graph: drop unused COLOR_VLANS
# encoding: utf-8
import pvl.web
from pvl.web import html, urls

import logging; log = logging.getLogger('pvl.verkko.web')

class DatabaseHandler (pvl.web.Handler) :
    """
        Request handler with pvl.verkko.Database session
    """

    def __init__ (self, app, request, urls, params) :
        super(DatabaseHandler, self).__init__(app, request, urls, params)

        # new ORM session per request
        self.db = app.db.session() 

    def cleanup (self) :
        """
            After request processing.
        """
        
        # XXX: SQLAlchemy doesn't automatically close these...?
        self.db.close()

class Application (pvl.web.Application) :
    """
        Application with pvl.verkko.Database
    """

    def __init__ (self, db, **opts) :
        """
            db      - pvl.verkko.Database
        """

        super(Application, self).__init__(**opts)

        self.db = db