pyezvizapi 1.0.2.5__tar.gz → 1.0.2.7__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 pyezvizapi might be problematic. Click here for more details.

Files changed (27) hide show
  1. {pyezvizapi-1.0.2.5/pyezvizapi.egg-info → pyezvizapi-1.0.2.7}/PKG-INFO +1 -1
  2. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/client.py +45 -0
  3. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/constants.py +1 -0
  4. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7/pyezvizapi.egg-info}/PKG-INFO +1 -1
  5. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/setup.py +1 -1
  6. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/LICENSE +0 -0
  7. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/LICENSE.md +0 -0
  8. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/MANIFEST.in +0 -0
  9. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/README.md +0 -0
  10. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/__init__.py +0 -0
  11. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/__main__.py +0 -0
  12. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/api_endpoints.py +0 -0
  13. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/camera.py +0 -0
  14. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/cas.py +0 -0
  15. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/exceptions.py +0 -0
  16. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/light_bulb.py +0 -0
  17. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/models.py +0 -0
  18. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/mqtt.py +0 -0
  19. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/test_cam_rtsp.py +0 -0
  20. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/test_mqtt.py +0 -0
  21. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi/utils.py +0 -0
  22. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi.egg-info/SOURCES.txt +0 -0
  23. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi.egg-info/dependency_links.txt +0 -0
  24. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi.egg-info/entry_points.txt +0 -0
  25. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi.egg-info/requires.txt +0 -0
  26. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/pyezvizapi.egg-info/top_level.txt +0 -0
  27. {pyezvizapi-1.0.2.5 → pyezvizapi-1.0.2.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyezvizapi
3
- Version: 1.0.2.5
3
+ Version: 1.0.2.7
4
4
  Summary: Pilot your Ezviz cameras
5
5
  Home-page: https://github.com/RenierM26/pyEzvizApi/
6
6
  Author: Renier Moorcroft
@@ -1760,6 +1760,51 @@ class EzvizClient:
1760
1760
 
1761
1761
  return True
1762
1762
 
1763
+ def _resolve_resource_id(self, serial: str, resource_id: str | None) -> str:
1764
+ """Resolve the intelligent app resource id for a given camera."""
1765
+
1766
+ if resource_id:
1767
+ return resource_id
1768
+
1769
+ camera = self._cameras.get(serial)
1770
+ if not camera:
1771
+ raise PyEzvizError(
1772
+ f"Unknown camera serial {serial}. Call load_devices/load_cameras first"
1773
+ )
1774
+
1775
+ resource_infos = camera.get("resourceInfos") or []
1776
+ for item in resource_infos:
1777
+ if isinstance(item, dict) and item.get("resourceId"):
1778
+ return cast(str, item["resourceId"])
1779
+
1780
+ legacy = camera.get("resouceid") or camera.get("resource_id")
1781
+ if isinstance(legacy, str) and legacy:
1782
+ return legacy
1783
+
1784
+ raise PyEzvizError(
1785
+ "Unable to determine resourceId for intelligent app operation"
1786
+ )
1787
+
1788
+ def set_intelligent_app_state(
1789
+ self,
1790
+ serial: str,
1791
+ app_name: str,
1792
+ enabled: bool,
1793
+ resource_id: str | None = None,
1794
+ max_retries: int = 0,
1795
+ ) -> bool:
1796
+ """Enable or disable an intelligent detection app on a camera."""
1797
+
1798
+ resolved_id = self._resolve_resource_id(serial, resource_id)
1799
+ action = "add" if enabled else "remove"
1800
+ return self.manage_intelligent_app(
1801
+ serial,
1802
+ resolved_id,
1803
+ app_name,
1804
+ action=action,
1805
+ max_retries=max_retries,
1806
+ )
1807
+
1763
1808
  def flip_image(
1764
1809
  self,
1765
1810
  serial: str,
@@ -233,6 +233,7 @@ class SupportExt(Enum):
233
233
  SupportMultiChannelFlip = 732
234
234
  SupportMultiChannelSharedService = 720
235
235
  SupportMultiChannelType = 719
236
+ SupportAdvancedDetectType = 793
236
237
  SupportMultiScreen = 17
237
238
  SupportMultiSubsys = 255
238
239
  SupportMultilensPlay = 665
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyezvizapi
3
- Version: 1.0.2.5
3
+ Version: 1.0.2.7
4
4
  Summary: Pilot your Ezviz cameras
5
5
  Home-page: https://github.com/RenierM26/pyEzvizApi/
6
6
  Author: Renier Moorcroft
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name='pyezvizapi',
8
- version="1.0.2.5",
8
+ version="1.0.2.7",
9
9
  license='Apache Software License 2.0',
10
10
  author='Renier Moorcroft',
11
11
  author_email='RenierM26@users.github.com',
File without changes
File without changes
File without changes
File without changes
File without changes