Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/core/db_utils.py
# Copyright (C) 2015 Stefano Zacchiroli <zack@upsilon.cc> | # Copyright (C) 2015 Stefano Zacchiroli <zack@upsilon.cc> | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from contextlib import contextmanager | from contextlib import contextmanager | ||||
@contextmanager | @contextmanager | ||||
def session_scope(mk_session): | def session_scope(mk_session): | ||||
session = mk_session() | session = mk_session() | ||||
try: | try: | ||||
yield session | yield session | ||||
session.commit() | session.commit() | ||||
except: | except: # noqa | ||||
session.rollback() | session.rollback() | ||||
raise | raise | ||||
finally: | finally: | ||||
session.close() | session.close() |