onvif-python
Advanced tools
| Metadata-Version: 2.4 | ||
| Name: onvif-python | ||
| Version: 0.2.8 | ||
| Version: 0.2.9 | ||
| Summary: A modern Python library for ONVIF-compliant devices | ||
@@ -49,3 +49,3 @@ Author-email: Nirsimetri Technologies® <open@nirsimetri.com> | ||
| <a href="https://deepwiki.com/nirsimetri/onvif-python"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.8-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.9-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?label=Downloads&color=red"></a> | ||
@@ -366,3 +366,3 @@ <br> | ||
| ONVIF Terminal Client — v0.2.8 | ||
| ONVIF Terminal Client — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -448,3 +448,3 @@ | ||
| ```bash | ||
| ONVIF Interactive Shell — v0.2.8 | ||
| ONVIF Interactive Shell — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -451,0 +451,0 @@ |
| # onvif/__init__.py | ||
| __version__ = "0.2.8" | ||
| __version__ = "0.2.9" | ||
@@ -5,0 +5,0 @@ from .client import ONVIFClient |
+27
-31
@@ -11,32 +11,2 @@ # onvif/utils/service.py | ||
| class ONVIFResponse: | ||
| """Transparent wrapper that adds to_dict() to zeep objects.""" | ||
| def __init__(self, wrapped_object): | ||
| object.__setattr__(self, "_wrapped", wrapped_object) | ||
| def __getattr__(self, name): | ||
| return getattr(self._wrapped, name) | ||
| def __setattr__(self, name, value): | ||
| if name == "_wrapped": | ||
| object.__setattr__(self, name, value) | ||
| else: | ||
| setattr(self._wrapped, name, value) | ||
| def __repr__(self): | ||
| return repr(self._wrapped) | ||
| def __str__(self): | ||
| return str(self._wrapped) | ||
| def to_dict(self): | ||
| """Convert zeep object to Python dictionary.""" | ||
| return ( | ||
| {} | ||
| if self._wrapped is None | ||
| else zeep.helpers.serialize_object(self._wrapped) | ||
| ) | ||
| def _is_zeep_object(obj): | ||
@@ -139,3 +109,3 @@ """Check if an object is a Zeep-generated object. | ||
| logger.debug(f"ONVIF method {name} completed successfully") | ||
| return ONVIFResponse(result) if result is not None else result | ||
| return result | ||
| except ONVIFOperationException as oe: | ||
@@ -154,2 +124,28 @@ # Re-raise ONVIF exceptions as-is | ||
| def to_dict(self, zeep_object): | ||
| """ | ||
| Convert a zeep object (result from ONVIF operation) to Python dictionary. | ||
| Args: | ||
| zeep_object: The zeep object returned from ONVIF operations | ||
| Returns: | ||
| dict: Python dictionary representation of the zeep object | ||
| Example: | ||
| device = client.devicemgmt() | ||
| info = device.GetDeviceInformation() | ||
| info_dict = device.to_dict(info) | ||
| print(info_dict) | ||
| profiles = media.GetProfiles() | ||
| profiles_dict = device.to_dict(profiles) | ||
| """ | ||
| try: | ||
| return {} if zeep_object is None else zeep.helpers.serialize_object(zeep_object) | ||
| except Exception as e: | ||
| logger.error(f"Failed to convert zeep object to dict: {e}") | ||
| return {} | ||
| def type(self, type_name: str): | ||
@@ -156,0 +152,0 @@ """ |
+4
-4
| Metadata-Version: 2.4 | ||
| Name: onvif-python | ||
| Version: 0.2.8 | ||
| Version: 0.2.9 | ||
| Summary: A modern Python library for ONVIF-compliant devices | ||
@@ -49,3 +49,3 @@ Author-email: Nirsimetri Technologies® <open@nirsimetri.com> | ||
| <a href="https://deepwiki.com/nirsimetri/onvif-python"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.8-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.9-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?label=Downloads&color=red"></a> | ||
@@ -366,3 +366,3 @@ <br> | ||
| ONVIF Terminal Client — v0.2.8 | ||
| ONVIF Terminal Client — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -448,3 +448,3 @@ | ||
| ```bash | ||
| ONVIF Interactive Shell — v0.2.8 | ||
| ONVIF Interactive Shell — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -451,0 +451,0 @@ |
+1
-1
@@ -7,3 +7,3 @@ [build-system] | ||
| name = "onvif-python" | ||
| version = "0.2.8" | ||
| version = "0.2.9" | ||
| description = "A modern Python library for ONVIF-compliant devices" | ||
@@ -10,0 +10,0 @@ readme = "README.md" |
+3
-3
@@ -6,3 +6,3 @@ <h1 align="center">ONVIF Python</h1> | ||
| <a href="https://deepwiki.com/nirsimetri/onvif-python"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.8-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pypi.org/project/onvif-python/"><img alt="PyPI Version" src="https://img.shields.io/badge/PyPI-0.2.9-orange?logo=archive&color=yellow"></a> | ||
| <a href="https://pepy.tech/projects/onvif-python"><img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/onvif-python?label=Downloads&color=red"></a> | ||
@@ -323,3 +323,3 @@ <br> | ||
| ONVIF Terminal Client — v0.2.8 | ||
| ONVIF Terminal Client — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -405,3 +405,3 @@ | ||
| ```bash | ||
| ONVIF Interactive Shell — v0.2.8 | ||
| ONVIF Interactive Shell — v0.2.9 | ||
| https://github.com/nirsimetri/onvif-python | ||
@@ -408,0 +408,0 @@ |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
85184208
010981
-0.02%