Refactor and unify device fetching for UniFi Protect (#77341)

This commit is contained in:
Christopher Bailey 2022-08-26 07:46:11 -04:00 committed by GitHub
parent dfc3e7d80f
commit 1fb8fbf5de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 50 additions and 44 deletions

View file

@ -7,7 +7,13 @@ from datetime import date, datetime, timedelta
from enum import Enum
from typing import Any, cast
from pyunifiprotect.data import Camera, Event, EventType, SmartDetectObjectType
from pyunifiprotect.data import (
Camera,
Event,
EventType,
ModelType,
SmartDetectObjectType,
)
from pyunifiprotect.exceptions import NvrError
from pyunifiprotect.utils import from_js_time
from yarl import URL
@ -810,7 +816,8 @@ class ProtectMediaSource(MediaSource):
cameras: list[BrowseMediaSource] = [await self._build_camera(data, "all")]
for camera in data.api.bootstrap.cameras.values():
for camera in data.get_by_types({ModelType.CAMERA}):
camera = cast(Camera, camera)
if not camera.can_read_media(data.api.bootstrap.auth_user):
continue
cameras.append(await self._build_camera(data, camera.id))