uiprotect 7.0.0__tar.gz → 7.0.1__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.

Files changed (37) hide show
  1. {uiprotect-7.0.0 → uiprotect-7.0.1}/PKG-INFO +1 -1
  2. {uiprotect-7.0.0 → uiprotect-7.0.1}/pyproject.toml +1 -1
  3. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/api.py +12 -12
  4. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/user.py +3 -0
  5. {uiprotect-7.0.0 → uiprotect-7.0.1}/LICENSE +0 -0
  6. {uiprotect-7.0.0 → uiprotect-7.0.1}/README.md +0 -0
  7. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/__init__.py +0 -0
  8. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/__main__.py +0 -0
  9. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/_compat.py +0 -0
  10. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/__init__.py +0 -0
  11. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/backup.py +0 -0
  12. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/base.py +0 -0
  13. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/cameras.py +0 -0
  14. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/chimes.py +0 -0
  15. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/doorlocks.py +0 -0
  16. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/events.py +0 -0
  17. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/lights.py +0 -0
  18. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/liveviews.py +0 -0
  19. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/nvr.py +0 -0
  20. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/sensors.py +0 -0
  21. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/cli/viewers.py +0 -0
  22. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/__init__.py +0 -0
  23. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/base.py +0 -0
  24. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/bootstrap.py +0 -0
  25. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/convert.py +0 -0
  26. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/devices.py +0 -0
  27. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/nvr.py +0 -0
  28. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/types.py +0 -0
  29. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/data/websocket.py +0 -0
  30. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/exceptions.py +0 -0
  31. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/py.typed +0 -0
  32. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/release_cache.json +0 -0
  33. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/stream.py +0 -0
  34. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/test_util/__init__.py +0 -0
  35. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/test_util/anonymize.py +0 -0
  36. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/utils.py +0 -0
  37. {uiprotect-7.0.0 → uiprotect-7.0.1}/src/uiprotect/websocket.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uiprotect
3
- Version: 7.0.0
3
+ Version: 7.0.1
4
4
  Summary: Python API for Unifi Protect (Unofficial)
5
5
  Home-page: https://github.com/uilibs/uiprotect
6
6
  Author: UI Protect Maintainers
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "uiprotect"
3
- version = "7.0.0"
3
+ version = "7.0.1"
4
4
  description = "Python API for Unifi Protect (Unofficial)"
5
5
  authors = ["UI Protect Maintainers <ui@koston.org>"]
6
6
  readme = "README.md"
@@ -829,21 +829,21 @@ class ProtectApiClient(BaseApiClient):
829
829
  async with self._update_lock:
830
830
  bootstrap = await self.get_bootstrap()
831
831
  if bootstrap.nvr.version >= NFC_FINGERPRINT_SUPPORT_VERSION:
832
+ try:
833
+ keyrings = await self.api_request_list("keyrings")
834
+ except NotAuthorized as err:
835
+ _LOGGER.debug("No access to keyrings %s, skipping", err)
836
+ keyrings = []
837
+ try:
838
+ ulp_users = await self.api_request_list("ulp-users")
839
+ except NotAuthorized as err:
840
+ _LOGGER.debug("No access to ulp-users %s, skipping", err)
841
+ ulp_users = []
832
842
  bootstrap.keyrings = Keyrings.from_list(
833
- cast(
834
- list[Keyring],
835
- list_from_unifi_list(
836
- self, await self.api_request_list("keyrings")
837
- ),
838
- )
843
+ cast(list[Keyring], list_from_unifi_list(self, keyrings))
839
844
  )
840
845
  bootstrap.ulp_users = UlpUsers.from_list(
841
- cast(
842
- list[UlpUser],
843
- list_from_unifi_list(
844
- self, await self.api_request_list("ulp-users")
845
- ),
846
- )
846
+ cast(list[UlpUser], list_from_unifi_list(self, ulp_users))
847
847
  )
848
848
  self.__dict__.pop("bootstrap", None)
849
849
  self._bootstrap = bootstrap
@@ -252,6 +252,9 @@ class UlpUserKeyringBase(Generic[T]):
252
252
  def __init__(self) -> None:
253
253
  self._id_to_item: dict[str, T] = {}
254
254
 
255
+ def __len__(self) -> int:
256
+ return len(self._id_to_item)
257
+
255
258
  @classmethod
256
259
  def from_list(cls, items: list[T]) -> Self:
257
260
  instance = cls()
File without changes
File without changes