Module gundb.backends.memory
Source code
from collections import defaultdict
from .backend import BackendMixin
class cuteobj:
def __getattr__(self, attr):
if attr in dir(self):
return getattr(self, attr)
else:
setattr(self, attr, cuteobj())
def __str__(self):
return "cuteobj: {} ".format(str(self.__dict__))
class Memory(BackendMixin):
def __init__(self):
self.db = defaultdict(lambda: defaultdict(lambda: defaultdict()))
self.objs = defaultdict(lambda: cuteobj())
def get_object_by_id(self, obj_id, schema=None):
return self.objs.get(obj_id, {})
def set_object_attr(self, obj, attr, val):
obj[attr] = val
return obj
def save_object(self, obj, obj_id, schema=None):
self.objs[obj_id] = obj
def __setitem__(self, k, v):
self.db[k] = v
def __getitem__(self, k):
return self.db[k]
def list(self):
return self.db.items()
Classes
class Memory
-
Source code
class Memory(BackendMixin): def __init__(self): self.db = defaultdict(lambda: defaultdict(lambda: defaultdict())) self.objs = defaultdict(lambda: cuteobj()) def get_object_by_id(self, obj_id, schema=None): return self.objs.get(obj_id, {}) def set_object_attr(self, obj, attr, val): obj[attr] = val return obj def save_object(self, obj, obj_id, schema=None): self.objs[obj_id] = obj def __setitem__(self, k, v): self.db[k] = v def __getitem__(self, k): return self.db[k] def list(self): return self.db.items()
Ancestors
Methods
def get_object_by_id(self, obj_id, schema=None)
-
Source code
def get_object_by_id(self, obj_id, schema=None): return self.objs.get(obj_id, {})
def list(self)
-
Source code
def list(self): return self.db.items()
def save_object(self, obj, obj_id, schema=None)
-
Source code
def save_object(self, obj, obj_id, schema=None): self.objs[obj_id] = obj
def set_object_attr(self, obj, attr, val)
-
Source code
def set_object_attr(self, obj, attr, val): obj[attr] = val return obj
Inherited members
class cuteobj (*args, **kwargs)
-
Source code
class cuteobj: def __getattr__(self, attr): if attr in dir(self): return getattr(self, attr) else: setattr(self, attr, cuteobj()) def __str__(self): return "cuteobj: {} ".format(str(self.__dict__))