| author | Sandro Knauß <knauss@netzguerilla.net> |
| Fri, 27 Jan 2012 21:21:41 +0100 | |
| branch | devel |
| changeset 117 | 351a02310dd8 |
| parent 115 | 323d06431100 |
| child 122 | b55754aa4f96 |
| permissions | -rw-r--r-- |
from sqlalchemy.orm import sessionmaker class WithSession(object): '''a with statement for a database session connection''' def __init__(self, engine, autocommit=False): self.engine = engine self.autocommit=autocommit def __enter__(self): self.session = sessionmaker(bind=self.engine)() 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()