diff --git a/frigate/comms/recordings_updater.py b/frigate/comms/recordings_updater.py index 0db4ad289..f5acbd004 100644 --- a/frigate/comms/recordings_updater.py +++ b/frigate/comms/recordings_updater.py @@ -2,6 +2,7 @@ import logging from enum import Enum +from typing import Any from .zmq_proxy import Publisher, Subscriber @@ -11,6 +12,7 @@ logger = logging.getLogger(__name__) class RecordingsDataTypeEnum(str, Enum): all = "" recordings_available_through = "recordings_available_through" + latest_valid_segment = "latest_valid_segment" class RecordingsDataPublisher(Publisher[tuple[str, float]]): @@ -18,10 +20,10 @@ class RecordingsDataPublisher(Publisher[tuple[str, float]]): topic_base = "recordings/" - def __init__(self, topic: RecordingsDataTypeEnum) -> None: - super().__init__(topic.value) + def __init__(self) -> None: + super().__init__() - def publish(self, payload: tuple[str, float], sub_topic: str = "") -> None: + def publish(self, payload: Any, sub_topic: str = "") -> None: super().publish(payload, sub_topic) @@ -32,3 +34,11 @@ class RecordingsDataSubscriber(Subscriber): def __init__(self, topic: RecordingsDataTypeEnum) -> None: super().__init__(topic.value) + + def _return_object( + self, topic: str, payload: tuple | None + ) -> tuple[str, Any] | tuple[None, None]: + if payload is None: + return (None, None) + + return (topic, payload)