def gets(cls, session, stime=None, etime=None): query = session.query(cls) if stime: query = query.filter(cls.timestamp >= timestamp2datetime(stime)) if etime: query = query.filter(cls.timestamp <= timestamp2datetime(etime)) return query
def get(cls, session, thread_id, timestamp, bin_id): return session.query(cls)\ .filter( cls.thread_id == thread_id, cls.bin_id == bin_id, cls.timestamp == timestamp2datetime(timestamp) )
def gets(cls, session, thread_id, stime=None, etime=None, bin_id=None, limit=None, sort=True): allRecords = session.query(Record).filter(Record.thread_id == thread_id) if stime is not None: Record.timestamp >= timestamp2datetime(stime) if stime == 0: stime = 1 allRecords = allRecords.filter(Record.timestamp >= timestamp2datetime(stime)) if etime is not None: if etime == 0: etime = 1 allRecords = allRecords.filter(Record.timestamp <= timestamp2datetime(etime)) if bin_id is not None: allRecords = allRecords.filter(Record.bin_id == bin_id) if sort: allRecords = allRecords.order_by(cls.timestamp) if limit is not None: allRecords = allRecords.limit(int(limit)) return allRecords
def add(cls, session, timestamp, binId, fileName): session.add(Recent(timestamp=timestamp2datetime(timestamp), bin_id=binId, file_name=fileName))
def get(cls, session, timestamp, binId, fileName): return session.query(cls).filter( cls.timestamp == timestamp2datetime(timestamp), cls.bin_id == binId, cls.file_name == fileName, )
def delete(cls, session, thread_id, timestamp, bin_id, force=False): rec = cls.get(session, thread_id, bin_id, timestamp2datetime(timestamp)).first() if rec: session.delete(rec) if force or rec: session.add(RemovedRecord(thread_id=thread_id, timestamp=timestamp, bin_id=bin_id))