uiprotect 7.5.0__tar.gz → 7.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uiprotect might be problematic. Click here for more details.
- {uiprotect-7.5.0 → uiprotect-7.5.2}/PKG-INFO +1 -1
- {uiprotect-7.5.0 → uiprotect-7.5.2}/pyproject.toml +2 -2
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/devices.py +17 -14
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/nvr.py +6 -4
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/types.py +1 -1
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/utils.py +1 -1
- {uiprotect-7.5.0 → uiprotect-7.5.2}/LICENSE +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/README.md +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/__init__.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/__main__.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/_compat.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/api.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/aiports.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/base.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/bootstrap.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/user.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/data/websocket.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/py.typed +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/stream.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-7.5.0 → uiprotect-7.5.2}/src/uiprotect/websocket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "uiprotect"
|
|
3
|
-
version = "7.5.
|
|
3
|
+
version = "7.5.2"
|
|
4
4
|
description = "Python API for Unifi Protect (Unofficial)"
|
|
5
5
|
authors = ["UI Protect Maintainers <ui@koston.org>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -77,7 +77,7 @@ mkdocs-material-extensions = "^1.3.1"
|
|
|
77
77
|
pymdown-extensions = "^10.8.1"
|
|
78
78
|
mkdocs-git-revision-date-localized-plugin = "^1.2.6"
|
|
79
79
|
mkdocs-include-markdown-plugin = ">=6.1.1,<8.0.0"
|
|
80
|
-
mkdocstrings = ">=0.25.1,<0.
|
|
80
|
+
mkdocstrings = ">=0.25.1,<0.30.0"
|
|
81
81
|
mkdocstrings-python = "^1.10.3"
|
|
82
82
|
|
|
83
83
|
[tool.semantic_release]
|
|
@@ -248,7 +248,7 @@ class CameraChannel(ProtectBaseObject):
|
|
|
248
248
|
rtsp_alias: str | None = None # read only
|
|
249
249
|
width: int
|
|
250
250
|
height: int
|
|
251
|
-
fps: int
|
|
251
|
+
fps: int | None = None # read only
|
|
252
252
|
bitrate: int
|
|
253
253
|
min_bitrate: int | None = None # read only
|
|
254
254
|
max_bitrate: int | None = None # read only
|
|
@@ -296,7 +296,7 @@ class CameraChannel(ProtectBaseObject):
|
|
|
296
296
|
|
|
297
297
|
@property
|
|
298
298
|
def is_package(self) -> bool:
|
|
299
|
-
return self.fps <= 2
|
|
299
|
+
return self.fps is not None and self.fps <= 2
|
|
300
300
|
|
|
301
301
|
|
|
302
302
|
class ISPSettings(ProtectBaseObject):
|
|
@@ -587,19 +587,22 @@ class VideoStats(ProtectBaseObject):
|
|
|
587
587
|
@classmethod
|
|
588
588
|
@cache
|
|
589
589
|
def unifi_dict_conversions(cls) -> dict[str, object | Callable[[Any], Any]]:
|
|
590
|
-
return
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
590
|
+
return (
|
|
591
|
+
dict.fromkeys(
|
|
592
|
+
(
|
|
593
|
+
"recordingStart",
|
|
594
|
+
"recordingEnd",
|
|
595
|
+
"recordingStartLQ",
|
|
596
|
+
"recordingEndLQ",
|
|
597
|
+
"timelapseStart",
|
|
598
|
+
"timelapseEnd",
|
|
599
|
+
"timelapseStartLQ",
|
|
600
|
+
"timelapseEndLQ",
|
|
601
|
+
),
|
|
602
|
+
convert_to_datetime,
|
|
601
603
|
)
|
|
602
|
-
|
|
604
|
+
| super().unifi_dict_conversions()
|
|
605
|
+
)
|
|
603
606
|
|
|
604
607
|
|
|
605
608
|
class StorageStats(ProtectBaseObject):
|
|
@@ -321,10 +321,12 @@ class Event(ProtectModelWithId):
|
|
|
321
321
|
@classmethod
|
|
322
322
|
@cache
|
|
323
323
|
def unifi_dict_conversions(cls) -> dict[str, object | Callable[[Any], Any]]:
|
|
324
|
-
return
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
324
|
+
return (
|
|
325
|
+
dict.fromkeys(
|
|
326
|
+
("start", "end", "timestamp", "deletedAt"), convert_to_datetime
|
|
327
|
+
)
|
|
328
|
+
| super().unifi_dict_conversions()
|
|
329
|
+
)
|
|
328
330
|
|
|
329
331
|
def unifi_dict(
|
|
330
332
|
self,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|