

def __exit__(self, exc_type, exc_val, exc_tb):
    try:
        if exc_type:
            self.rollback(False)
        elif (self.db.transaction_depth() == 1):
            try:
                self.commit(False)
            except:
                self.rollback(False)
                raise
    finally:
        self.db.set_autocommit(self._orig)
        self.db.pop_transaction()

dataset/ETHPy150Open coleifer/peewee/peewee.py transaction.__exit__/original