|
@@ -281,9 +281,9 @@ class EventCleanup(threading.Thread):
|
|
self.stop_event = stop_event
|
|
self.stop_event = stop_event
|
|
self.camera_keys = list(self.config.cameras.keys())
|
|
self.camera_keys = list(self.config.cameras.keys())
|
|
|
|
|
|
- def expire(self, media):
|
|
|
|
|
|
+ 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 == "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,8 @@ 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(f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}")
|
|
|
|
- media.unlink(missing_ok=True)
|
|
|
|
|
|
+ media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}")
|
|
|
|
+ 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 +326,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 == "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,10 +351,8 @@ 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(
|
|
|
|
- f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}"
|
|
|
|
- )
|
|
|
|
- media.unlink(missing_ok=True)
|
|
|
|
|
|
+ media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.{file_extension}")
|
|
|
|
+ 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,
|
|
@@ -385,11 +383,11 @@ class EventCleanup(threading.Thread):
|
|
logger.debug(f"Removing duplicate: {event.id}")
|
|
logger.debug(f"Removing duplicate: {event.id}")
|
|
media_name = f"{event.camera}-{event.id}"
|
|
media_name = f"{event.camera}-{event.id}"
|
|
if event.has_snapshot:
|
|
if event.has_snapshot:
|
|
- media = Path(f"{os.path.join(CLIPS_DIR, media_name)}.jpg")
|
|
|
|
- media.unlink(missing_ok=True)
|
|
|
|
|
|
+ media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.jpg")
|
|
|
|
+ media_path.unlink(missing_ok=True)
|
|
if event.has_clip:
|
|
if event.has_clip:
|
|
- media = Path(f"{os.path.join(CLIPS_DIR, media_name)}.mp4")
|
|
|
|
- media.unlink(missing_ok=True)
|
|
|
|
|
|
+ media_path = Path(f"{os.path.join(CLIPS_DIR, media_name)}.mp4")
|
|
|
|
+ media_path.unlink(missing_ok=True)
|
|
|
|
|
|
(
|
|
(
|
|
Event.delete()
|
|
Event.delete()
|