diff --git a/frigate/record/maintainer.py b/frigate/record/maintainer.py index 3dd65909b..25c9d2cff 100644 --- a/frigate/record/maintainer.py +++ b/frigate/record/maintainer.py @@ -97,7 +97,7 @@ class RecordingMaintainer(threading.Thread): self.object_recordings_info: dict[str, list] = defaultdict(list) self.audio_recordings_info: dict[str, list] = defaultdict(list) self.end_time_cache: dict[str, Tuple[datetime.datetime, float]] = {} - self.unexpected_cache_files_seen: set[str] = set() + self.unexpected_cache_files_logged: bool = False async def move_files(self) -> None: cache_files = [ @@ -116,9 +116,9 @@ class RecordingMaintainer(threading.Thread): try: camera, date = basename.rsplit("@", maxsplit=1) except ValueError: - if cache not in self.unexpected_cache_files_seen: - logger.warning(f"Skipping unexpected file in cache: {cache}") - self.unexpected_cache_files_seen.add(cache) + if not self.unexpected_cache_files_logged: + logger.warning("Skipping unexpected files in cache") + self.unexpected_cache_files_logged = True continue start_time = datetime.datetime.strptime( @@ -175,9 +175,9 @@ class RecordingMaintainer(threading.Thread): try: camera, date = basename.rsplit("@", maxsplit=1) except ValueError: - if cache not in self.unexpected_cache_files_seen: - logger.warning(f"Skipping unexpected file in cache: {cache}") - self.unexpected_cache_files_seen.add(cache) + if not self.unexpected_cache_files_logged: + logger.warning("Skipping unexpected files in cache") + self.unexpected_cache_files_logged = True continue # important that start_time is utc because recordings are stored and compared in utc diff --git a/frigate/test/test_maintainer.py b/frigate/test/test_maintainer.py index 483989fa3..d978cfd9f 100644 --- a/frigate/test/test_maintainer.py +++ b/frigate/test/test_maintainer.py @@ -1,7 +1,6 @@ +import sys import unittest from unittest.mock import MagicMock, patch -import sys -import datetime # Mock complex imports before importing maintainer sys.modules["frigate.comms.inter_process"] = MagicMock() @@ -10,8 +9,8 @@ sys.modules["frigate.comms.recordings_updater"] = MagicMock() sys.modules["frigate.config.camera.updater"] = MagicMock() # Now import the class under test -from frigate.record.maintainer import RecordingMaintainer -from frigate.config import FrigateConfig +from frigate.config import FrigateConfig # noqa: E402 +from frigate.record.maintainer import RecordingMaintainer # noqa: E402 class TestMaintainer(unittest.IsolatedAsyncioTestCase): @@ -54,13 +53,12 @@ class TestMaintainer(unittest.IsolatedAsyncioTestCase): for c in warn.call_args_list if c.args and isinstance(c.args[0], str) - and "Skipping unexpected file in cache: bad_filename.mp4" - in c.args[0] + and "Skipping unexpected files in cache" in c.args[0] ] self.assertEqual( 1, len(matching), - f"Expected a single warning for bad filename, got {len(matching)}", + f"Expected a single warning for unexpected files, got {len(matching)}", )