uiprotect 1.19.0__tar.gz → 1.19.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-1.19.0 → uiprotect-1.19.2}/PKG-INFO +2 -2
- {uiprotect-1.19.0 → uiprotect-1.19.2}/README.md +1 -1
- {uiprotect-1.19.0 → uiprotect-1.19.2}/pyproject.toml +1 -1
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/api.py +1 -18
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/base.py +1 -1
- {uiprotect-1.19.0 → uiprotect-1.19.2}/LICENSE +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/__init__.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/__main__.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/bootstrap.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/devices.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/nvr.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/types.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/user.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/data/websocket.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/py.typed +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/stream.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/utils.py +0 -0
- {uiprotect-1.19.0 → uiprotect-1.19.2}/src/uiprotect/websocket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: uiprotect
|
|
3
|
-
Version: 1.19.
|
|
3
|
+
Version: 1.19.2
|
|
4
4
|
Summary: Python API for Unifi Protect (Unofficial)
|
|
5
5
|
Home-page: https://github.com/uilibs/uiprotect
|
|
6
6
|
License: MIT
|
|
@@ -130,7 +130,7 @@ If you are not okay with the feature being locked behind Remote Access, [let Ubi
|
|
|
130
130
|
|
|
131
131
|
## Documentation
|
|
132
132
|
|
|
133
|
-
[Full documentation for the project](https://
|
|
133
|
+
[Full documentation for the project](https://uiprotect.readthedocs.io/).
|
|
134
134
|
|
|
135
135
|
## Requirements
|
|
136
136
|
|
|
@@ -90,7 +90,7 @@ If you are not okay with the feature being locked behind Remote Access, [let Ubi
|
|
|
90
90
|
|
|
91
91
|
## Documentation
|
|
92
92
|
|
|
93
|
-
[Full documentation for the project](https://
|
|
93
|
+
[Full documentation for the project](https://uiprotect.readthedocs.io/).
|
|
94
94
|
|
|
95
95
|
## Requirements
|
|
96
96
|
|
|
@@ -53,7 +53,7 @@ from .data import (
|
|
|
53
53
|
)
|
|
54
54
|
from .data.base import ProtectModelWithId
|
|
55
55
|
from .data.devices import Chime
|
|
56
|
-
from .data.types import IteratorCallback, ProgressCallback
|
|
56
|
+
from .data.types import IteratorCallback, ProgressCallback
|
|
57
57
|
from .exceptions import BadRequest, NotAuthorized, NvrError
|
|
58
58
|
from .utils import (
|
|
59
59
|
decode_token_cookie,
|
|
@@ -1123,23 +1123,6 @@ class ProtectApiClient(BaseApiClient):
|
|
|
1123
1123
|
This is a great alternative if you need metadata about the NVR without connecting to the Websocket
|
|
1124
1124
|
"""
|
|
1125
1125
|
data = await self.api_request_obj("bootstrap")
|
|
1126
|
-
# fix for UniFi Protect bug, some cameras may come back with and old recording mode
|
|
1127
|
-
# "motion" and "smartDetect" recording modes was combined into "detections" in Protect 1.20.0
|
|
1128
|
-
call_again = False
|
|
1129
|
-
for camera_dict in data["cameras"]:
|
|
1130
|
-
if camera_dict.get("recordingSettings", {}).get("mode", "detections") in {
|
|
1131
|
-
"motion",
|
|
1132
|
-
"smartDetect",
|
|
1133
|
-
}:
|
|
1134
|
-
await self.update_device(
|
|
1135
|
-
ModelType.CAMERA,
|
|
1136
|
-
camera_dict["id"],
|
|
1137
|
-
{"recordingSettings": {"mode": RecordingMode.DETECTIONS.value}},
|
|
1138
|
-
)
|
|
1139
|
-
call_again = True
|
|
1140
|
-
|
|
1141
|
-
if call_again:
|
|
1142
|
-
data = await self.api_request_obj("bootstrap")
|
|
1143
1126
|
return Bootstrap.from_unifi_dict(**data, api=self)
|
|
1144
1127
|
|
|
1145
1128
|
async def get_devices_raw(self, model_type: ModelType) -> list[dict[str, Any]]:
|
|
@@ -483,7 +483,7 @@ class ProtectBaseObject(BaseModel):
|
|
|
483
483
|
if (unifi_obj := getattr(cls, key)) is not None:
|
|
484
484
|
value = unifi_obj.update_from_dict(item)
|
|
485
485
|
else:
|
|
486
|
-
value =
|
|
486
|
+
value = unifi_objs[key](**item, api=api)
|
|
487
487
|
elif has_unifi_lists and key in unifi_lists and isinstance(item, list):
|
|
488
488
|
klass = unifi_lists[key]
|
|
489
489
|
value = [
|
|
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
|