diff --git a/frigate/events.py b/frigate/events.py index 58ca1986e..71e9990dc 100644 --- a/frigate/events.py +++ b/frigate/events.py @@ -283,7 +283,7 @@ class EventCleanup(threading.Thread): def expire(self, media_type): ## Expire events from unlisted cameras based on the global config - if media_type == 'clips': + if media_type == "clips": retain_config = self.config.clips.retain file_extension = "mp4" update_params = {"has_clip": False} @@ -314,8 +314,16 @@ class EventCleanup(threading.Thread): # delete the media from disk for event in expired_events: media_name = f"{event.camera}-{event.id}" - media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}") + media_path = Path( + f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}" + ) media_path.unlink(missing_ok=True) + if file_extension == "jpg": + media_path = Path( + f"{os.path.join(CLIPS_DIR, media_name)}-clean.png" + ) + media_path.unlink(missing_ok=True) + # update the clips attribute for the db entry update_query = Event.update(update_params).where( Event.camera.not_in(self.camera_keys), @@ -326,7 +334,7 @@ class EventCleanup(threading.Thread): ## Expire events from cameras based on the camera config for name, camera in self.config.cameras.items(): - if media_type == 'clips': + if media_type == "clips": retain_config = camera.clips.retain else: retain_config = camera.snapshots.retain @@ -351,8 +359,15 @@ class EventCleanup(threading.Thread): # delete the grabbed clips from disk for event in expired_events: media_name = f"{event.camera}-{event.id}" - media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}") + media_path = Path( + f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}" + ) media_path.unlink(missing_ok=True) + if file_extension == "jpg": + media_path = Path( + f"{os.path.join(CLIPS_DIR, media_name)}-clean.png" + ) + media_path.unlink(missing_ok=True) # update the clips attribute for the db entry update_query = Event.update(update_params).where( Event.camera == name,