class SAEnginePlugin(plugins.SimplePlugin): def __init__(self, bus): plugins.SimplePlugin.__init__(self, bus) self.sa_engine = None self.bus.subscribe(u'bind', self.bind) def start(self): self.db = DatabaseWrapper() self.sa_engine = self.db.get_engine() def stop(self): if self.sa_engine: self.sa_engine.dispose() self.sa_engine = None def bind(self, session): session.configure(bind=self.sa_engine)
class SAEnginePlugin(plugins.SimplePlugin): """A plugin to help SQLAlchemy bind correctly to CherryPy threads. See http://www.defuze.org/archives/222-integrating-sqlalchemy-into-a-cherrypy-application.html """ def __init__(self, bus): plugins.SimplePlugin.__init__(self, bus) self.sa_engine = None self.bus.subscribe(u'bind', self.bind) def start(self): self.db = DatabaseWrapper() self.sa_engine = self.db.get_engine() def stop(self): if self.sa_engine: self.sa_engine.dispose() self.sa_engine = None def bind(self, session): session.configure(bind=self.sa_engine)