def __exit__(self, exc_type, exc_value, exc_tb):
if exc_type is None:
transaction.commit()
meta = self._root['meta']
if self.has_updates:
meta.unpacked += 1
if meta.unpacked > 25:
logger.debug('Packing database')
self._db.pack()
meta.unpacked = 0
transaction.commit()
else:
transaction.abort()
self._connection.close()
评论列表
文章目录