diff --git a/unifi_protect_backup/event_listener.py b/unifi_protect_backup/event_listener.py index 20c01b9..10d554c 100644 --- a/unifi_protect_backup/event_listener.py +++ b/unifi_protect_backup/event_listener.py @@ -3,7 +3,7 @@ import asyncio import logging from time import sleep -from typing import List, Optional +from typing import List from uiprotect.api import ProtectApiClient from uiprotect.websocket import WebsocketState @@ -23,7 +23,7 @@ class EventListener: protect: ProtectApiClient, detection_types: List[str], ignore_cameras: List[str], - cameras: Optional[List[str]] = None, + cameras: List[str], ): """Init. @@ -32,7 +32,7 @@ class EventListener: protect (ProtectApiClient): UniFI Protect API client to use detection_types (List[str]): Desired Event detection types to look for ignore_cameras (List[str]): Cameras IDs to ignore events from - cameras (Optional[List[str]]): Cameras IDs to ONLY include events from + cameras (List[str]): Cameras IDs to ONLY include events from """ self._event_queue: asyncio.Queue = event_queue self._protect: ProtectApiClient = protect @@ -40,7 +40,7 @@ class EventListener: self._unsub_websocketstate = None self.detection_types: List[str] = detection_types self.ignore_cameras: List[str] = ignore_cameras - self.cameras: Optional[List[str]] = cameras + self.cameras: List[str] = cameras async def start(self): """Main Loop.""" @@ -63,7 +63,7 @@ class EventListener: return if msg.new_obj.camera_id in self.ignore_cameras: return - if self.cameras is not None and msg.new_obj.camera_id not in self.cameras: + if self.cameras and msg.new_obj.camera_id not in self.cameras: return if "end" not in msg.changed_data: return diff --git a/unifi_protect_backup/missing_event_checker.py b/unifi_protect_backup/missing_event_checker.py index e8f4876..7572ffc 100644 --- a/unifi_protect_backup/missing_event_checker.py +++ b/unifi_protect_backup/missing_event_checker.py @@ -3,7 +3,7 @@ import asyncio import logging from datetime import datetime -from typing import AsyncIterator, List, Optional +from typing import AsyncIterator, List import aiosqlite from dateutil.relativedelta import relativedelta @@ -28,8 +28,8 @@ class MissingEventChecker: uploader: VideoUploader, retention: relativedelta, detection_types: List[str], - ignore_cameras: List[str] = [], - cameras: Optional[List[str]] = None, + ignore_cameras: List[str], + cameras: List[str], interval: int = 60 * 5, ) -> None: """Init. @@ -43,7 +43,7 @@ class MissingEventChecker: retention (relativedelta): Retention period to limit search window detection_types (List[str]): Detection types wanted to limit search ignore_cameras (List[str]): Ignored camera IDs to limit search - cameras (Optional[List[str]]): Included (ONLY) camera IDs to limit search + cameras (List[str]): Included (ONLY) camera IDs to limit search interval (int): How frequently, in seconds, to check for missing events, """ self._protect: ProtectApiClient = protect @@ -54,7 +54,7 @@ class MissingEventChecker: self.retention: relativedelta = retention self.detection_types: List[str] = detection_types self.ignore_cameras: List[str] = ignore_cameras - self.cameras: Optional[List[str]] = cameras + self.cameras: List[str] = cameras self.interval: int = interval async def _get_missing_events(self) -> AsyncIterator[Event]: @@ -116,7 +116,7 @@ class MissingEventChecker: return False # This event is still on-going if event.camera_id in self.ignore_cameras: return False - if self.cameras is not None and event.camera_id not in self.cameras: + if self.cameras and event.camera_id not in self.cameras: return False if event.type is EventType.MOTION and "motion" not in self.detection_types: return False