def query_records(build, classification, severity, machine_id, limit, interval_sec=None):
records = Record.query
if build is not None:
records = records.join(Record.build).filter_by(build=build)
if classification is not None:
records = records.join(Record.classification).filter_by(classification=classification)
if severity is not None:
records = records.filter(Record.severity == severity)
if machine_id is not None:
records = records.filter(Record.machine_id == machine_id)
if interval_sec is not None:
current_time = time()
secs_in_past = current_time - interval_sec
# Due to time skew on client systems, delayed sends due to
# spooling, etc, tsp_server works better as the reference
# timestamp.
records = records.filter(Record.tsp_server > secs_in_past)
records = records.order_by(Record.id.desc())
if limit is not None:
records = records.limit(limit)
return records.all()
评论列表
文章目录