예제 #1
0
        def get_from_database():
            devices = []

            session = DBSession()
            for device in session.query(File.device).distinct():
                devices.append(device[0])

            return sorted(devices)
예제 #2
0
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(cls.md5sum == md5hash).one()
            except NoResultFound:
                file = None

            return file
예제 #3
0
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(
                    cls.id == base62_decode(base62)).one()
            except NoResultFound:
                file = None

            return file
예제 #4
0
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(
                    cls.full_path == filename).order_by(cls.id.desc()).first()
            except NoResultFound:
                file = None

            return file
예제 #5
0
        def get_from_database():
            session = DBSession()
            try:
                file = session.query(cls).filter(
                    cls.device == device).order_by(
                        cls.date_created.desc()).first()
            except NoResultFound:
                file = None

            return file
예제 #6
0
        def get_from_database():
            session = DBSession()
            query = session.query(cls)

            query = query.select_from(File).filter(cls.type == channel)
            query = query.filter(cls.device == device)
            query = query.filter(
                cls.date_created >= datetime.fromtimestamp(after))
            query = query.order_by(cls.date_created.desc()).first()

            return query
예제 #7
0
        def get_from_database():
            session = DBSession()
            query = session.query(cls)

            if device is not None:
                query = query.select_from(File).filter(File.device == device)

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

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

            return query
예제 #8
0
    def get(self, key):
        value, expires = self.store.get(key, (None, None))
        if expires is not None and expires > time.time():
            logging.info("Cache Hit for '%s', expires in %s seconds" %
                         (key, expires - time.time()))
            return value
        else:
            if value is not None:
                if isinstance(value, list):
                    for obj in value:
                        try:
                            DBSession().expunge(obj)
                            logging.info("Expunged %s", obj)
                        except:
                            pass

            logging.info("Cache Miss for '%s'" % (key))
            return None