From 5d4c3f842f319aaa8a5b7a843d4aa7e32c4cad2c Mon Sep 17 00:00:00 2001 From: Sofia Papagiannaki Date: Thu, 22 Sep 2011 12:52:12 +0300 Subject: [PATCH] sqlite database connection: use PoolEvent instead of deprecated PoolListener --- pithos/backends/lib/sqlalchemy/dbwrapper.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pithos/backends/lib/sqlalchemy/dbwrapper.py b/pithos/backends/lib/sqlalchemy/dbwrapper.py index 1958f7c..7b22e61 100644 --- a/pithos/backends/lib/sqlalchemy/dbwrapper.py +++ b/pithos/backends/lib/sqlalchemy/dbwrapper.py @@ -31,19 +31,18 @@ # interpreted as representing official policies, either expressed # or implied, of GRNET S.A. -from sqlalchemy import create_engine +from sqlalchemy import create_engine, event from sqlalchemy.pool import NullPool -from sqlalchemy.interfaces import PoolListener class DBWrapper(object): """Database connection wrapper.""" def __init__(self, db): if db.startswith('sqlite://'): - class ForeignKeysListener(PoolListener): - def connect(self, dbapi_con, con_record): - db_cursor = dbapi_con.execute('pragma foreign_keys=ON') - self.engine = create_engine(db, connect_args={'check_same_thread': False}, poolclass=NullPool, listeners=[ForeignKeysListener()]) + def my_on_connect(dbapi_conn, connection_rec, connection_proxy): + db_cursor = dbapi_conn.execute('pragma foreign_keys=ON') + self.engine = create_engine(db, connect_args={'check_same_thread': False}, poolclass=NullPool) + event.listen(self.engine, 'checkout', my_on_connect) else: self.engine = create_engine(db) #self.engine.echo = True -- 1.7.10.4