def _encode(self, obj):
return pickle.dumps(obj)
- @txnfun(lambda self: self.db().env.env)
+ @txnfun(lambda self: self.db().env)
def _load(self, id, *, tx):
loaded = self._decode(self.db().get(id, tx=tx))
if hasattr(loaded, "__didex_loaded__"):
def get(self, id, *, load=True):
return self.cache.get(id, load=load)
- @txnfun(lambda self: self.db().env.env)
+ @txnfun(lambda self: self.db().env)
def register(self, obj, *, tx):
id = self.db().add(self._encode(obj), tx=tx)
for nm, attr in storedescs(obj):
self.cache.put(id, obj)
return id
- @txnfun(lambda self: self.db().env.env)
+ @txnfun(lambda self: self.db().env)
def unregister(self, id, *, vfy=None, tx):
obj = self.get(id)
if vfy is not None and obj is not vfy:
self.db().remove(id, tx=tx)
self.cache.remove(id)
- @txnfun(lambda self: self.db().env.env)
+ @txnfun(lambda self: self.db().env)
def update(self, id, *, vfy=None, tx):
obj = self.get(id, load=False)
if vfy is not None and obj is not vfy: