def session_query(): """Provide a transactional scope around a series of operations.""" sql_db_connect() session = SQLDatabase.get_session() try: yield session except IrmaDatabaseError: raise
def session_transaction(): """Provide a transactional scope around a series of operations.""" # TODO: when used with 'with', session is not commited and usage of vars # such as object.id could not be initialized (None) sql_db_connect() session = SQLDatabase.get_session() try: yield session session.commit() except IrmaDatabaseError: session.rollback() raise finally: session.close()