From ea3e7004ba6227974f22a966d1e392fb3d0492a0 Mon Sep 17 00:00:00 2001 From: Nick Mowen Date: Thu, 20 Apr 2023 16:21:38 -0600 Subject: [PATCH] Store better data --- frigate/http.py | 28 +++++++++++++++++++++++++++- frigate/timeline.py | 15 +++++++++------ 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/frigate/http.py b/frigate/http.py index f59e341df..6a29dcc71 100644 --- a/frigate/http.py +++ b/frigate/http.py @@ -33,7 +33,7 @@ from playhouse.shortcuts import model_to_dict from frigate.config import FrigateConfig from frigate.const import CLIPS_DIR, MAX_SEGMENT_DURATION, RECORD_DIR -from frigate.models import Event, Recordings +from frigate.models import Event, Recordings, Timeline from frigate.object_processing import TrackedObject from frigate.stats import stats_snapshot from frigate.util import ( @@ -414,6 +414,32 @@ def event_thumbnail(id, max_cache_age=2592000): return response +@bp.route("/timeline") +def timeline(): + camera = request.args.get("camera", "all") + + limit = request.args.get("limit", 100) + + clauses = [] + + selected_columns = [ + Timeline.timestamp, + Timeline.camera, + Timeline.source, + Timeline.source_id, + Timeline.class_type, + Timeline.data, + ] + + timeline = ( + Timeline.select(*selected_columns) + .order_by(Timeline.timestamp.asc()) + .limit(limit) + ) + + return jsonify([model_to_dict(t) for t in timeline]) + + @bp.route("//