فهرست منبع

allow summary data to be filtered

Blake Blackshear 4 سال پیش
والد
کامیت
ec84847be7
1فایلهای تغییر یافته به همراه15 افزوده شده و 0 حذف شده
  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,