From bebb22dc11fcf49b07e9f0f3d0712d1a65f8155a Mon Sep 17 00:00:00 2001 From: Sergey Krashevich Date: Wed, 26 Apr 2023 04:11:28 +0300 Subject: [PATCH] Add handling for non-existent or empty model file paths in `compute_model_hash()` method --- frigate/detectors/detector_config.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/frigate/detectors/detector_config.py b/frigate/detectors/detector_config.py index 16ffe5fd4..c3b56dc6a 100644 --- a/frigate/detectors/detector_config.py +++ b/frigate/detectors/detector_config.py @@ -118,11 +118,15 @@ class ModelConfig(BaseModel): } def compute_model_hash(self) -> None: - with open(self.path, "rb") as f: - file_hash = hashlib.md5() - while chunk := f.read(8192): - file_hash.update(chunk) - self._model_hash = file_hash.hexdigest() + if not self.path or not os.path.exists(self.path): + print("File does not exist or path is empty.") + self._model_hash = hashlib.md5(b"unknown").hexdigest() + else: + with open(self.path, "rb") as f: + file_hash = hashlib.md5() + while chunk := f.read(8192): + file_hash.update(chunk) + self._model_hash = file_hash.hexdigest() def create_colormap(self, enabled_labels: set[str]) -> None: """Get a list of colors for enabled labels."""