uiprotect 6.3.2__tar.gz → 6.4.0__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-6.3.2 → uiprotect-6.4.0}/PKG-INFO +1 -1
- {uiprotect-6.3.2 → uiprotect-6.4.0}/pyproject.toml +2 -2
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/devices.py +11 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/LICENSE +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/README.md +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/__init__.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/__main__.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/_compat.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/api.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/base.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/bootstrap.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/nvr.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/types.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/user.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/data/websocket.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/py.typed +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/stream.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/utils.py +0 -0
- {uiprotect-6.3.2 → uiprotect-6.4.0}/src/uiprotect/websocket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "uiprotect"
|
|
3
|
-
version = "6.
|
|
3
|
+
version = "6.4.0"
|
|
4
4
|
description = "Python API for Unifi Protect (Unofficial)"
|
|
5
5
|
authors = ["UI Protect Maintainers <ui@koston.org>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -54,7 +54,7 @@ pytest-cov = ">=3,<6"
|
|
|
54
54
|
aiosqlite = ">=0.20.0"
|
|
55
55
|
asttokens = "^2.4.1"
|
|
56
56
|
pytest-asyncio = ">=0.23.7,<0.25.0"
|
|
57
|
-
pytest-benchmark = "
|
|
57
|
+
pytest-benchmark = ">=4,<6"
|
|
58
58
|
pytest-sugar = "^1.0.0"
|
|
59
59
|
pytest-timeout = "^2.3.1"
|
|
60
60
|
pytest-xdist = "^3.6.1"
|
|
@@ -273,6 +273,7 @@ class CameraChannel(ProtectBaseObject):
|
|
|
273
273
|
|
|
274
274
|
_rtsp_url: str | None = PrivateAttr(None)
|
|
275
275
|
_rtsps_url: str | None = PrivateAttr(None)
|
|
276
|
+
_rtsps_no_srtp_url: str | None = PrivateAttr(None)
|
|
276
277
|
|
|
277
278
|
@property
|
|
278
279
|
def rtsp_url(self) -> str | None:
|
|
@@ -294,6 +295,16 @@ class CameraChannel(ProtectBaseObject):
|
|
|
294
295
|
self._rtsps_url = f"rtsps://{self._api.connection_host}:{self._api.bootstrap.nvr.ports.rtsps}/{self.rtsp_alias}?enableSrtp"
|
|
295
296
|
return self._rtsps_url
|
|
296
297
|
|
|
298
|
+
@property
|
|
299
|
+
def rtsps_no_srtp_url(self) -> str | None:
|
|
300
|
+
if not self.is_rtsp_enabled or self.rtsp_alias is None:
|
|
301
|
+
return None
|
|
302
|
+
|
|
303
|
+
if self._rtsps_no_srtp_url is not None:
|
|
304
|
+
return self._rtsps_no_srtp_url
|
|
305
|
+
self._rtsps_no_srtp_url = f"rtsps://{self._api.connection_host}:{self._api.bootstrap.nvr.ports.rtsps}/{self.rtsp_alias}"
|
|
306
|
+
return self._rtsps_no_srtp_url
|
|
307
|
+
|
|
297
308
|
@property
|
|
298
309
|
def is_package(self) -> bool:
|
|
299
310
|
return self.fps <= 2
|
|
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
|
|
File without changes
|
|
File without changes
|