cleanup clean snapshots

This commit is contained in:
Blake Blackshear 2021-06-19 08:44:25 -05:00
parent fd9c8c1f0d
commit d66f5f6bad

View File

@ -283,7 +283,7 @@ class EventCleanup(threading.Thread):
def expire(self, media_type): def expire(self, media_type):
## Expire events from unlisted cameras based on the global config ## Expire events from unlisted cameras based on the global config
if media_type == 'clips': if media_type == "clips":
retain_config = self.config.clips.retain retain_config = self.config.clips.retain
file_extension = "mp4" file_extension = "mp4"
update_params = {"has_clip": False} update_params = {"has_clip": False}
@ -314,8 +314,16 @@ class EventCleanup(threading.Thread):
# delete the media from disk # delete the media from disk
for event in expired_events: for event in expired_events:
media_name = f"{event.camera}-{event.id}" 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) 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 the clips attribute for the db entry
update_query = Event.update(update_params).where( update_query = Event.update(update_params).where(
Event.camera.not_in(self.camera_keys), Event.camera.not_in(self.camera_keys),
@ -326,7 +334,7 @@ class EventCleanup(threading.Thread):
## 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():
if media_type == 'clips': if media_type == "clips":
retain_config = camera.clips.retain retain_config = camera.clips.retain
else: else:
retain_config = camera.snapshots.retain retain_config = camera.snapshots.retain
@ -351,8 +359,15 @@ class EventCleanup(threading.Thread):
# delete the grabbed clips from disk # delete the grabbed clips from disk
for event in expired_events: for event in expired_events:
media_name = f"{event.camera}-{event.id}" 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) 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 the clips attribute for the db entry
update_query = Event.update(update_params).where( update_query = Event.update(update_params).where(
Event.camera == name, Event.camera == name,