|
@@ -448,8 +448,19 @@ class RecordingCleanup(threading.Thread):
|
|
|
if event.end_time < recording.start_time:
|
|
|
event_start = idx
|
|
|
|
|
|
- # Delete recordings outside of the retention window
|
|
|
- if not keep:
|
|
|
+ # Delete recordings outside of the retention window or based on the retention mode
|
|
|
+ if (
|
|
|
+ not keep
|
|
|
+ or (
|
|
|
+ config.record.events.retain.mode == RetainModeEnum.motion
|
|
|
+ and recording.motion == 0
|
|
|
+ )
|
|
|
+ or (
|
|
|
+ config.record.events.retain.mode
|
|
|
+ == RetainModeEnum.active_objects
|
|
|
+ and recording.objects == 0
|
|
|
+ )
|
|
|
+ ):
|
|
|
Path(recording.path).unlink(missing_ok=True)
|
|
|
deleted_recordings.add(recording.id)
|
|
|
|