mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-04 18:25:22 +03:00
Add api with filtering
This commit is contained in:
parent
ea3e7004ba
commit
2da8581729
@ -417,7 +417,7 @@ def event_thumbnail(id, max_cache_age=2592000):
|
||||
@bp.route("/timeline")
|
||||
def timeline():
|
||||
camera = request.args.get("camera", "all")
|
||||
|
||||
source_id = request.args.get("source_id", type=str)
|
||||
limit = request.args.get("limit", 100)
|
||||
|
||||
clauses = []
|
||||
@ -431,8 +431,18 @@ def timeline():
|
||||
Timeline.data,
|
||||
]
|
||||
|
||||
if camera != "all":
|
||||
clauses.append((Timeline.camera == camera))
|
||||
|
||||
if source_id:
|
||||
clauses.append((Timeline.source_id == source_id))
|
||||
|
||||
if len(clauses) == 0:
|
||||
clauses.append((True))
|
||||
|
||||
timeline = (
|
||||
Timeline.select(*selected_columns)
|
||||
.where(reduce(operator.and_, clauses))
|
||||
.order_by(Timeline.timestamp.asc())
|
||||
.limit(limit)
|
||||
)
|
||||
|
||||
@ -63,7 +63,7 @@ class TimelineProcessor(threading.Thread):
|
||||
source_id=event_data["id"],
|
||||
class_type="visible",
|
||||
data={
|
||||
"box": event_data["box"],
|
||||
"box": event_data["box"], # TODO store as relative
|
||||
"label": event_data["label"],
|
||||
"region": event_data["region"],
|
||||
},
|
||||
@ -79,7 +79,7 @@ class TimelineProcessor(threading.Thread):
|
||||
source_id=event_data["id"],
|
||||
class_type="entered_zone",
|
||||
data={
|
||||
"box": event_data["box"],
|
||||
"box": event_data["box"], # TODO store as relative
|
||||
"label": event_data["label"],
|
||||
"region": event_data["region"],
|
||||
"zones": event_data["current_zones"],
|
||||
@ -93,7 +93,7 @@ class TimelineProcessor(threading.Thread):
|
||||
source_id=event_data["id"],
|
||||
class_type="gone",
|
||||
data={
|
||||
"box": event_data["box"],
|
||||
"box": event_data["box"], # TODO store as relative
|
||||
"label": event_data["label"],
|
||||
"region": event_data["region"],
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user