def __init__(self, db=None, table=None): super(EntityManagerImpl, self).__init__() self._entity_store = EntityStore(db, table) if db and table else None
class EntityManagerImpl(EntityManager): def __init__(self, db=None, table=None): super(EntityManagerImpl, self).__init__() self._entity_store = EntityStore(db, table) if db and table else None @staticmethod def type_cast(entity): return entity def unsorted_list(self, deep_list=False, fetch_cache_only=False, name=None, parent_name=None): if parent_name: raise NotImplemented l = list() for entity in self._entity_store.all(): if not name or name == entity.name: l.append(self.type_cast(entity)) return l def get(self, name): return self.type_cast(self._entity_store.find_one(name=name)) def add(self, named_entity): self._entity_store.upsert(named_entity, keys=['name']) # name is unique return True def update(self, entity, data): self._entity_store.update(data, keys=['name']) return True def remove(self, name, check_existence=False): if check_existence and not self.get(name): return False else: self._entity_store.delete(name=name) return True def undeclare(self, name, check_existence=False): return self.remove(name, check_existence) def count(self): return self._entity_store.count() def drop(self, cleanup=True): self._entity_store.drop_all()