| author | Sandro Knauß <knauss@netzguerilla.net> |
| Sat, 28 Jan 2012 04:03:15 +0100 | |
| branch | devel |
| changeset 119 | 3462c2c90f95 |
| parent 117 | 351a02310dd8 |
| 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()