| author | Sandro Knauß <knauss@netzguerilla.net> |
| Tue, 10 Jan 2012 06:03:42 +0100 | |
| branch | devel |
| changeset 93 | ee10253258ad |
| parent 92 | f479738b4879 |
| child 96 | 883b25b0b760 |
| permissions | -rw-r--r-- |
| 92 | 1 |
from sqlalchemy import create_engine |
2 |
from sqlalchemy.orm import sessionmaker |
|
|
93
ee10253258ad
now right relative imports
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
3 |
from ..model import Base |
| 92 | 4 |
|
5 |
engine = create_engine('sqlite:///:memory:', echo=True) |
|
6 |
||
7 |
def createDatabase(): |
|
8 |
Base.metadata.create_all(engine) |
|
9 |
||
10 |
Session = sessionmaker(bind=engine) |
|
11 |
||
12 |
class WithSession(): |
|
13 |
def __init__(self,autocommit=False): |
|
14 |
self.autocommit=autocommit |
|
15 |
||
16 |
def __enter__(self): |
|
17 |
self.conn = engine.connect() |
|
18 |
self.session = Session(bind=self.conn) |
|
19 |
return self.session |
|
20 |
||
21 |
def __exit__(self,exc_type, exc_value, traceback): |
|
22 |
if exc_type is None: |
|
23 |
if self.autocommit: |
|
24 |
self.session.commit() |
|
25 |
else: |
|
26 |
self.session.rollback() |
|
27 |
self.session.close() |
|
28 |
self.conn.close() |
|
29 |