Source code for nectarchain.dqm.db_utils
import transaction
from BTrees.OOBTree import OOBTree
from ZEO import ClientStorage
from ZODB import DB
__all__ = ["DQMDB"]
[docs]
class DQMDB:
def __init__(self, read_only=True):
self.server = "localhost"
addr = self.server, 8100
zeo = ClientStorage.ClientStorage(addr, read_only=read_only)
self.db = DB(zeo)
conn = self.db.open()
self.root = conn.root()
def insert(self, key=None, value=None):
if key is not None and value is not None:
try:
self.root[key] = OOBTree(value)
return True
except AttributeError:
return False
def commit_and_close(self):
transaction.commit()
self.db.close()
def abort_and_close(self):
transaction.abort()
self.db.close()