Fix connection parameters for sqlite through sqlalchemy.
[pithos] / pithos / backends / lib / sqlalchemy / dbwrapper.py
index 5bd306b..2ac0e35 100644 (file)
 # or implied, of GRNET S.A.
 
 from sqlalchemy import create_engine
+from sqlalchemy.pool import NullPool
 
 class DBWrapper(object):
     """Database connection wrapper."""
     
     def __init__(self, db):
-        self.engine = create_engine(db)
-        self.conn = engine.connect()
+        if db.startswith('sqlite://'):
+            self.engine = create_engine(db, connect_args={'check_same_thread': False}, poolclass=NullPool)
+        else:
+            self.engine = create_engine(db)
+        self.conn = self.engine.connect()
         self.trans = None
     
     def execute(self):
-        self.trans = self.con.begin()
+        self.trans = self.conn.begin()
     
     def commit(self):
         self.trans.commit()