uiprotect 0.4.1__tar.gz → 0.5.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.

Files changed (36) hide show
  1. {uiprotect-0.4.1 → uiprotect-0.5.0}/PKG-INFO +1 -1
  2. {uiprotect-0.4.1 → uiprotect-0.5.0}/pyproject.toml +1 -1
  3. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/utils.py +8 -2
  4. {uiprotect-0.4.1 → uiprotect-0.5.0}/LICENSE +0 -0
  5. {uiprotect-0.4.1 → uiprotect-0.5.0}/README.md +0 -0
  6. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/__init__.py +0 -0
  7. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/__main__.py +0 -0
  8. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/api.py +0 -0
  9. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/__init__.py +0 -0
  10. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/backup.py +0 -0
  11. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/base.py +0 -0
  12. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/cameras.py +0 -0
  13. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/chimes.py +0 -0
  14. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/doorlocks.py +0 -0
  15. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/events.py +0 -0
  16. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/lights.py +0 -0
  17. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/liveviews.py +0 -0
  18. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/nvr.py +0 -0
  19. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/sensors.py +0 -0
  20. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/cli/viewers.py +0 -0
  21. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/__init__.py +0 -0
  22. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/base.py +0 -0
  23. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/bootstrap.py +0 -0
  24. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/convert.py +0 -0
  25. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/devices.py +0 -0
  26. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/nvr.py +0 -0
  27. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/types.py +0 -0
  28. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/user.py +0 -0
  29. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/data/websocket.py +0 -0
  30. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/exceptions.py +0 -0
  31. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/py.typed +0 -0
  32. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/release_cache.json +0 -0
  33. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/stream.py +0 -0
  34. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/test_util/__init__.py +0 -0
  35. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/test_util/anonymize.py +0 -0
  36. {uiprotect-0.4.1 → uiprotect-0.5.0}/src/uiprotect/websocket.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uiprotect
3
- Version: 0.4.1
3
+ Version: 0.5.0
4
4
  Summary: Python API for Unifi Protect (Unofficial)
5
5
  Home-page: https://github.com/uilibs/uiprotect
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "uiprotect"
3
- version = "0.4.1"
3
+ version = "0.5.0"
4
4
  description = "Python API for Unifi Protect (Unofficial)"
5
5
  authors = ["UI Protect Maintainers <ui@koston.org>"]
6
6
  license = "MIT"
@@ -234,11 +234,11 @@ def convert_unifi_data(value: Any, field: ModelField) -> Any:
234
234
  return value
235
235
  if type_ == datetime:
236
236
  return from_js_time(value)
237
- if type_ in _CREATE_TYPES or (isclass(type_) and issubclass(type_, Enum)):
237
+ if type_ in _CREATE_TYPES or _is_enum_type(type_):
238
238
  # cannot do this check too soon because some types cannot be used in isinstance
239
239
  if isinstance(value, type_):
240
240
  return value
241
- # handle edge case for improperly formated UUIDs
241
+ # handle edge case for improperly formatted UUIDs
242
242
  # 00000000-0000-00 0- 000-000000000000
243
243
  if type_ == UUID and value == _BAD_UUID:
244
244
  value = "0" * 32
@@ -247,6 +247,12 @@ def convert_unifi_data(value: Any, field: ModelField) -> Any:
247
247
  return value
248
248
 
249
249
 
250
+ @lru_cache
251
+ def _is_enum_type(type_: Any) -> bool:
252
+ """Checks if type is an Enum."""
253
+ return isclass(type_) and issubclass(type_, Enum)
254
+
255
+
250
256
  def serialize_unifi_obj(value: Any, levels: int = -1) -> Any:
251
257
  """Serializes UFP data"""
252
258
  if unifi_dict := getattr(value, "unifi_dict", None):
File without changes
File without changes