equal
deleted
inserted
replaced
1 from sqlalchemy.orm import sessionmaker |
1 from sqlalchemy.orm import sessionmaker |
2 |
|
3 from .session import IroSession |
|
4 |
2 |
5 class WithSession(object): |
3 class WithSession(object): |
6 '''a with statement for a database session connection''' |
4 '''a with statement for a database session connection''' |
7 def __init__(self, engine, autocommit=False): |
5 def __init__(self, engine, autocommit=False): |
8 self.engine = engine |
6 self.engine = engine |
9 self.autocommit=autocommit |
7 self.autocommit=autocommit |
10 |
8 |
11 def __enter__(self): |
9 def __enter__(self): |
12 self.session = sessionmaker(bind=self.engine, class_ = IroSession)() |
10 self.session = sessionmaker(bind=self.engine)() |
13 return self.session |
11 return self.session |
14 |
12 |
15 def __exit__(self,exc_type, exc_value, traceback): |
13 def __exit__(self,exc_type, exc_value, traceback): |
16 if exc_type is None: |
14 if exc_type is None: |
17 if self.autocommit: |
15 if self.autocommit: |