def _callInTransaction(self, func, *args, **kwargs):
        # No nesting of transactions
        self.conn.rollback()

        try:
            self.cur = self.conn.cursor()
            try:
                ret = func(*args, **kwargs)
            finally:
                self.cur.close()
                self.cur = None
        except:
            self.conn.rollback()
            raise
        else:
            self.conn.commit()

        return ret
Execute the given function inside of a transaction, with an
dataset/ETHPy150Open CollabQ/CollabQ/openid/store/sqlstore.py/SQLStore._callInTransaction