Пример #1
0
 def __init__(self, db=None, table=None):
     super(EntityManagerImpl, self).__init__()
     self._entity_store = EntityStore(db, table) if db and table else None
Пример #2
0
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()