Пример #1
0
    def get_all(cls):
        def get_from_database():
            session = DBSession()
            try:
                devices = session.query(cls).order_by(cls.name).all()
            except:
                devices = None

            return devices

        devices_cache = cache.get_cache('all', expire=3600)
        return devices_cache.get('all', createfunc=get_from_database)
Пример #2
0
    def get_all(cls):
        def get_from_database():
            session = DBSession()
            try:
                devices = session.query(cls).order_by(cls.name).all()
            except:
                devices = None

            return devices

        devices_cache = cache.get_cache('all', expire=3600)
        return devices_cache.get('all', createfunc=get_from_database)
Пример #3
0
    def get_by_filename(cls, filename):
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(cls.filename == filename).one()
            except NoResultFound:
                file = None

            return file

        file_cache = cache.get_cache('file', expire=60)
        file = file_cache.get(filename, createfunc=get_from_database)
        return file
Пример #4
0
    def get_by_filename(cls, filename):
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(
                    cls.filename == filename).one()
            except NoResultFound:
                file = None

            return file

        file_cache = cache.get_cache('file', expire=60)
        file = file_cache.get(filename, createfunc=get_from_database)
        return file
Пример #5
0
    def browse(cls, device, type):
        cache_key = "%s_%s" % (device or "null", type or "null")
        browse_cache = cache.get_cache('browse', expire=60)

        def get_from_database():
            session = DBSession()
            query = session.query(cls)

            if device is not None:
                query = query.select_from(join(File, Device)). \
                            filter(Device.name == device)

            if type is not None:
                query = query.filter(cls.type == type)

            # Limit the query and order it
            query = query.order_by(desc(cls.date_created))[:20]

            return query

        return browse_cache.get(cache_key, createfunc=get_from_database)
Пример #6
0
    def browse(cls, device, type):
        cache_key = "%s_%s" % (device or "null", type or "null")
        browse_cache = cache.get_cache('browse', expire=60)

        def get_from_database():
            session = DBSession()
            query = session.query(cls)

            if device is not None:
                query = query.select_from(join(File, Device)). \
                            filter(Device.name == device)

            if type is not None:
                query = query.filter(cls.type == type)

            # Limit the query and order it
            query = query.order_by(desc(cls.date_created))[:20]

            return query

        return browse_cache.get(cache_key, createfunc=get_from_database)