uiprotect 6.0.2__tar.gz → 6.1.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.0.2 → uiprotect-6.1.0}/PKG-INFO +1 -1
- {uiprotect-6.0.2 → uiprotect-6.1.0}/pyproject.toml +3 -3
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/api.py +6 -5
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/types.py +2 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/LICENSE +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/README.md +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/__init__.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/__main__.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/__init__.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/backup.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/base.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/cameras.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/chimes.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/doorlocks.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/events.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/lights.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/liveviews.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/nvr.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/sensors.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/cli/viewers.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/__init__.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/base.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/bootstrap.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/convert.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/devices.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/nvr.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/user.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/data/websocket.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/exceptions.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/py.typed +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/release_cache.json +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/stream.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/test_util/__init__.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/test_util/anonymize.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/utils.py +0 -0
- {uiprotect-6.0.2 → uiprotect-6.1.0}/src/uiprotect/websocket.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "uiprotect"
|
|
3
|
-
version = "6.0
|
|
3
|
+
version = "6.1.0"
|
|
4
4
|
description = "Python API for Unifi Protect (Unofficial)"
|
|
5
5
|
authors = ["UI Protect Maintainers <ui@koston.org>"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -52,7 +52,7 @@ pytest = ">=7,<9"
|
|
|
52
52
|
pytest-cov = ">=3,<6"
|
|
53
53
|
aiosqlite = ">=0.20.0"
|
|
54
54
|
asttokens = "^2.4.1"
|
|
55
|
-
pytest-asyncio = "
|
|
55
|
+
pytest-asyncio = ">=0.23.7,<0.25.0"
|
|
56
56
|
pytest-benchmark = "^4.0.0"
|
|
57
57
|
pytest-sugar = "^1.0.0"
|
|
58
58
|
pytest-timeout = "^2.3.1"
|
|
@@ -75,7 +75,7 @@ mkdocs-material-extensions = "^1.3.1"
|
|
|
75
75
|
pymdown-extensions = "^10.8.1"
|
|
76
76
|
mkdocs-git-revision-date-localized-plugin = "^1.2.6"
|
|
77
77
|
mkdocs-include-markdown-plugin = "^6.1.1"
|
|
78
|
-
mkdocstrings = "
|
|
78
|
+
mkdocstrings = ">=0.25.1,<0.27.0"
|
|
79
79
|
mkdocstrings-python = "^1.10.3"
|
|
80
80
|
|
|
81
81
|
[tool.semantic_release]
|
|
@@ -17,7 +17,7 @@ from http.cookies import Morsel, SimpleCookie
|
|
|
17
17
|
from ipaddress import IPv4Address, IPv6Address
|
|
18
18
|
from pathlib import Path
|
|
19
19
|
from typing import Any, Literal, cast
|
|
20
|
-
from urllib.parse import
|
|
20
|
+
from urllib.parse import SplitResult
|
|
21
21
|
|
|
22
22
|
import aiofiles
|
|
23
23
|
import aiohttp
|
|
@@ -327,7 +327,9 @@ class BaseApiClient:
|
|
|
327
327
|
if require_auth:
|
|
328
328
|
await self.ensure_authenticated()
|
|
329
329
|
|
|
330
|
-
request_url = self._url.
|
|
330
|
+
request_url = self._url.join(
|
|
331
|
+
URL(SplitResult("", "", url, "", ""), encoded=True)
|
|
332
|
+
)
|
|
331
333
|
headers = kwargs.get("headers") or self.headers
|
|
332
334
|
_LOGGER.debug("Request url: %s", request_url)
|
|
333
335
|
if not self._verify_ssl:
|
|
@@ -387,10 +389,9 @@ class BaseApiClient:
|
|
|
387
389
|
**kwargs: Any,
|
|
388
390
|
) -> bytes | None:
|
|
389
391
|
"""Make a request to UniFi Protect API"""
|
|
390
|
-
url = urljoin(self.api_path, url)
|
|
391
392
|
response = await self.request(
|
|
392
393
|
method,
|
|
393
|
-
url,
|
|
394
|
+
f"{self.api_path}{url}",
|
|
394
395
|
require_auth=require_auth,
|
|
395
396
|
auto_close=False,
|
|
396
397
|
**kwargs,
|
|
@@ -1542,7 +1543,7 @@ class ProtectApiClient(BaseApiClient):
|
|
|
1542
1543
|
|
|
1543
1544
|
r = await self.request(
|
|
1544
1545
|
"get",
|
|
1545
|
-
|
|
1546
|
+
f"{self.api_path}{path}",
|
|
1546
1547
|
auto_close=False,
|
|
1547
1548
|
timeout=0,
|
|
1548
1549
|
params=params,
|
|
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
|