Explorar o código

allow summary data to be filtered

Blake Blackshear %!s(int64=4) %!d(string=hai) anos
pai
achega
ec84847be7
Modificáronse 1 ficheiros con 15 adicións e 0 borrados
  1. 15 0
      frigate/http.py

+ 15 - 0
frigate/http.py

@@ -47,6 +47,20 @@ def is_healthy():
 
 @bp.route('/events/summary')
 def events_summary():
+    has_clip = request.args.get('has_clip', type=int)
+    has_snapshot = request.args.get('has_snapshot', type=int)
+
+    clauses = []
+
+    if not has_clip is None:
+        clauses.append((Event.has_clip == has_clip))
+    
+    if not has_snapshot is None:
+        clauses.append((Event.has_snapshot == has_snapshot))
+
+    if len(clauses) == 0:
+        clauses.append((1 == 1))
+
     groups = (
         Event
             .select(
@@ -56,6 +70,7 @@ def events_summary():
                 Event.zones,
                 fn.COUNT(Event.id).alias('count')
             )
+            .where(reduce(operator.and_, clauses))
             .group_by(
                 Event.camera,
                 Event.label,