--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/iro/controller/database.py Thu Dec 22 03:13:34 2011 +0100
@@ -0,0 +1,29 @@
+from sqlalchemy import create_engine
+from sqlalchemy.orm import sessionmaker
+from model import Base
+
+engine = create_engine('sqlite:///:memory:', echo=True)
+
+def createDatabase():
+ Base.metadata.create_all(engine)
+
+Session = sessionmaker(bind=engine)
+
+class WithSession():
+ def __init__(self,autocommit=False):
+ self.autocommit=autocommit
+
+ def __enter__(self):
+ self.conn = engine.connect()
+ self.session = Session(bind=self.conn)
+ return self.session
+
+ def __exit__(self,exc_type, exc_value, traceback):
+ if exc_type is None:
+ if self.autocommit:
+ self.session.commit()
+ else:
+ self.session.rollback()
+ self.session.close()
+ self.conn.close()
+