Cleanup events based on review severity

This commit is contained in:
Nicolas Mowen 2024-12-09 07:35:24 -07:00
parent eb4640ca9a
commit 155d83d869

View File

@ -275,6 +275,7 @@ class EventCleanup(threading.Thread):
Event.update(update_params).where(Event.id << events_to_update).execute() Event.update(update_params).where(Event.id << events_to_update).execute()
events_to_update = [] events_to_update = []
now = datetime.datetime.now()
## Expire events from cameras based on the camera config ## Expire events from cameras based on the camera config
for name, camera in self.config.cameras.items(): for name, camera in self.config.cameras.items():
@ -282,9 +283,11 @@ class EventCleanup(threading.Thread):
camera.record.alerts.retain.days, camera.record.alerts.retain.days,
camera.record.detections.retain.days, camera.record.detections.retain.days,
) )
alert_expire_date = (
expire_after = ( now - datetime.timedelta(days=camera.record.alerts.retain.days)
datetime.datetime.now() - datetime.timedelta(days=expire_days) ).timestamp()
detection_expire_date = (
now - datetime.timedelta(days=camera.record.detections.retain.days)
).timestamp() ).timestamp()
# grab all events after specific time # grab all events after specific time
expired_events = ( expired_events = (
@ -294,8 +297,12 @@ class EventCleanup(threading.Thread):
) )
.where( .where(
Event.camera == name, Event.camera == name,
Event.start_time < expire_after,
Event.retain_indefinitely == False, Event.retain_indefinitely == False,
(Event.end_time < alert_expire_date)
| (
(Event.data["max_severity"] == "detection")
& (Event.end_time < detection_expire_date)
),
) )
.namedtuples() .namedtuples()
.iterator() .iterator()