onvif-python 0.2.2__py3-none-any.whl → 0.2.3__py3-none-any.whl
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.
- onvif/cli/interactive.py +2 -2
- onvif/cli/main.py +2 -2
- onvif/utils/zeep.py +1 -14
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/METADATA +5 -5
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/RECORD +9 -9
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/WHEEL +0 -0
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/entry_points.txt +0 -0
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/licenses/LICENSE.md +0 -0
- {onvif_python-0.2.2.dist-info → onvif_python-0.2.3.dist-info}/top_level.txt +0 -0
onvif/cli/interactive.py
CHANGED
|
@@ -194,7 +194,7 @@ class InteractiveShell(cmd.Cmd):
|
|
|
194
194
|
" / __ \\/ | / / | / / _/ ____/",
|
|
195
195
|
" / / / / |/ /| | / // // /_ ",
|
|
196
196
|
"/ /_/ / /| / | |/ // // __/ ",
|
|
197
|
-
"\\____/_/ |_/ |___/___/_/ v0.2.
|
|
197
|
+
"\\____/_/ |_/ |___/___/_/ v0.2.3",
|
|
198
198
|
" ",
|
|
199
199
|
]
|
|
200
200
|
|
|
@@ -1400,7 +1400,7 @@ class InteractiveShell(cmd.Cmd):
|
|
|
1400
1400
|
super().do_help(line)
|
|
1401
1401
|
else:
|
|
1402
1402
|
help_text = f"""
|
|
1403
|
-
{colorize('ONVIF Interactive Shell — v0.2.
|
|
1403
|
+
{colorize('ONVIF Interactive Shell — v0.2.3', 'cyan')}\n{colorize('https://github.com/nirsimetri/onvif-python', 'white')}
|
|
1404
1404
|
|
|
1405
1405
|
{colorize('Basic Commands:', 'yellow')}
|
|
1406
1406
|
capabilities, caps - Show device capabilities
|
onvif/cli/main.py
CHANGED
|
@@ -21,7 +21,7 @@ def create_parser():
|
|
|
21
21
|
"""Create argument parser for ONVIF CLI"""
|
|
22
22
|
parser = argparse.ArgumentParser(
|
|
23
23
|
prog="onvif",
|
|
24
|
-
description=f"{colorize('ONVIF Terminal Client', 'yellow')} — v0.2.
|
|
24
|
+
description=f"{colorize('ONVIF Terminal Client', 'yellow')} — v0.2.3\nhttps://github.com/nirsimetri/onvif-python",
|
|
25
25
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
26
26
|
epilog=f"""
|
|
27
27
|
Examples:
|
|
@@ -461,7 +461,7 @@ def main():
|
|
|
461
461
|
|
|
462
462
|
# Show ONVIF CLI version
|
|
463
463
|
if args.version:
|
|
464
|
-
print(colorize("0.2.
|
|
464
|
+
print(colorize("0.2.3", "yellow"))
|
|
465
465
|
sys.exit(0)
|
|
466
466
|
|
|
467
467
|
# Handle product search
|
onvif/utils/zeep.py
CHANGED
|
@@ -360,7 +360,6 @@ class ZeepPatcher:
|
|
|
360
360
|
)
|
|
361
361
|
|
|
362
362
|
if should_flatten:
|
|
363
|
-
# This is truly a wrapper - flatten by extracting children to parent
|
|
364
363
|
# Convert zeep object to dict to preserve manually added attributes
|
|
365
364
|
if hasattr(inner_content, "__values__") or hasattr(
|
|
366
365
|
inner_content, "__dict__"
|
|
@@ -371,20 +370,8 @@ class ZeepPatcher:
|
|
|
371
370
|
|
|
372
371
|
# Set the wrapper field itself
|
|
373
372
|
values[tag_name] = inner_content
|
|
373
|
+
# Don't copy fields up to parent - keep them in the structured object
|
|
374
374
|
|
|
375
|
-
# If inner_content is a dict with children, copy them to parent too
|
|
376
|
-
if isinstance(inner_content, dict):
|
|
377
|
-
for child_key, child_val in inner_content.items():
|
|
378
|
-
if child_key.startswith("_"):
|
|
379
|
-
continue
|
|
380
|
-
# Copy children to parent level if field exists and is None
|
|
381
|
-
if (
|
|
382
|
-
child_key in values
|
|
383
|
-
and values[child_key] is None
|
|
384
|
-
):
|
|
385
|
-
values[child_key] = child_val
|
|
386
|
-
elif child_key not in values:
|
|
387
|
-
values[child_key] = child_val
|
|
388
375
|
else:
|
|
389
376
|
# Not a wrapper - just set the field directly
|
|
390
377
|
# Convert zeep object to dict to preserve manually added attributes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: onvif-python
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: A modern Python library for ONVIF-compliant devices
|
|
5
5
|
Author-email: Nirsimetri Technologies® <open@nirsimetri.com>
|
|
6
6
|
Maintainer: Kaburagi
|
|
@@ -47,7 +47,7 @@ Dynamic: license-file
|
|
|
47
47
|
|
|
48
48
|
[](https://app.codacy.com/gh/nirsimetri/onvif-python/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
|
|
49
49
|
[](https://deepwiki.com/nirsimetri/onvif-python)
|
|
50
|
-
[](https://pypi.org/project/onvif-python/)
|
|
51
51
|
[](https://clickpy.clickhouse.com/dashboard/onvif-python)
|
|
52
52
|
<br>
|
|
53
53
|
[](https://github.com/nirsimetri/onvif-python/actions/workflows/python-app.yml)
|
|
@@ -91,7 +91,7 @@ This library simplifies that process by wrapping SOAP communication into a clean
|
|
|
91
91
|
|
|
92
92
|
From official [PyPI](https://pypi.org/project/onvif-python/):
|
|
93
93
|
```bash
|
|
94
|
-
pip install onvif-python
|
|
94
|
+
pip install --upgrade onvif-python
|
|
95
95
|
```
|
|
96
96
|
Or clone this repository and install locally:
|
|
97
97
|
```bash
|
|
@@ -356,7 +356,7 @@ usage: onvif [-h] [--host HOST] [--port PORT] [--username USERNAME] [--password
|
|
|
356
356
|
[--no-verify] [--no-patch] [--interactive] [--debug] [--wsdl WSDL] [--cache {all,db,mem,none}] [--health-check-interval HEALTH_CHECK_INTERVAL] [--version]
|
|
357
357
|
[service] [method] [params ...]
|
|
358
358
|
|
|
359
|
-
ONVIF Terminal Client — v0.2.
|
|
359
|
+
ONVIF Terminal Client — v0.2.3
|
|
360
360
|
https://github.com/nirsimetri/onvif-python
|
|
361
361
|
|
|
362
362
|
positional arguments:
|
|
@@ -429,7 +429,7 @@ Examples:
|
|
|
429
429
|
<summary><b>2. Interactive Shell</b></summary>
|
|
430
430
|
|
|
431
431
|
```bash
|
|
432
|
-
ONVIF Interactive Shell — v0.2.
|
|
432
|
+
ONVIF Interactive Shell — v0.2.3
|
|
433
433
|
https://github.com/nirsimetri/onvif-python
|
|
434
434
|
|
|
435
435
|
Basic Commands:
|
|
@@ -3,8 +3,8 @@ onvif/client.py,sha256=0G4AG-IJyaCheR2jXbZDWL_p5tx-wGRnXelMRKNS2bc,26693
|
|
|
3
3
|
onvif/operator.py,sha256=fBaoWYC3ZVFdgd2S_cmztWiLAA-HaWwSflq278YNlTs,13970
|
|
4
4
|
onvif/cli/__init__.py,sha256=y3hc-mo-Iwwxf8m5vo9P_0m2ISzGuOy-jaRPkdRY05A,68
|
|
5
5
|
onvif/cli/__main__.py,sha256=IZyZcevWVKE1BzdFY53a3MjOOfybncGVVXQ_7lZ3TOQ,165
|
|
6
|
-
onvif/cli/interactive.py,sha256=
|
|
7
|
-
onvif/cli/main.py,sha256=
|
|
6
|
+
onvif/cli/interactive.py,sha256=ytV_OVOw9KV5GqjJw0Cucgrmfd4pJFOsJZuEnwLgMfs,59756
|
|
7
|
+
onvif/cli/main.py,sha256=xXAW3zlNoukkgGPNffjGv9hIzzUPrsBALtWTlwMXzXM,27312
|
|
8
8
|
onvif/cli/utils.py,sha256=t84r0NkqqaaV0xWvBSgP9FYZIFYpJwPINAcrDVZ9Eq8,59109
|
|
9
9
|
onvif/db/companies.db,sha256=yJ8bSHfGpxNnA5NRBhYOFS_1Pix-KgH8GnUFV3ytzPo,270336
|
|
10
10
|
onvif/db/products.db,sha256=4BVPfy6i6pLMLQyfue238uRp6_NIDodu4QXd9iCoooY,81559552
|
|
@@ -53,7 +53,7 @@ onvif/utils/parser.py,sha256=QYzzIqsP1RuSIdx0SYPnighomYkLsfroRPMcjGOmgeo,5125
|
|
|
53
53
|
onvif/utils/service.py,sha256=VTCOY5PMjaY9KgCznDomTcPLVIorIRnqBPd7VCoLxAM,12722
|
|
54
54
|
onvif/utils/wsdl.py,sha256=9VqJwxjyrz_gtNQ5IHPQ0pjek6Y0aOOkencWXkUGKp4,27250
|
|
55
55
|
onvif/utils/xml_capture.py,sha256=r8N2_D1hbKywMdftlTTMnxPhzxOsJDLkEJDKgudfpbo,7984
|
|
56
|
-
onvif/utils/zeep.py,sha256=
|
|
56
|
+
onvif/utils/zeep.py,sha256=nXY7gxYV806EQhA4ZlUR4YZDb4retDBgp6iDOumqa48,29740
|
|
57
57
|
onvif/wsdl/LICENSE.md,sha256=O0J5vlcNSuEulS5rESOZWYy-IEnH4QeJkQ4ebZZNkSQ,16439
|
|
58
58
|
onvif/wsdl/ver10/actionengine.wsdl,sha256=mQCRdRMdh517EUkDCKEfBHl_GvX9dPABqtgwU9K8FWE,55762
|
|
59
59
|
onvif/wsdl/ver10/analyticsdevice.wsdl,sha256=JCd2pab5RAgoPm_26Q3l6sda8cGkam4dsXeluJ4euyA,30999
|
|
@@ -113,9 +113,9 @@ onvif/wsdl/ver20/util/federated_search_documentation.html,sha256=GR6a4SPBsRDisaW
|
|
|
113
113
|
onvif/wsdl/ver20/util/fedsearch-docu-viewer.xsl,sha256=8eP-uMZgsTtuU5WaVyCzs_DJZqWIFD7iRz_5-3ComPg,325
|
|
114
114
|
onvif/wsdl/ver20/util/onvif-wsdl-viewer.xsl,sha256=Emauxs6rh69IxlxlU3k_LEH_i3SsRbwIKUk-VcMlVgk,94525
|
|
115
115
|
onvif/wsdl/ver20/util/operationIndex.html,sha256=mUsAGgNUFCIQjVV9Rx_O5YUNW3EdWNhUkAbBY-xVMhQ,39290
|
|
116
|
-
onvif_python-0.2.
|
|
117
|
-
onvif_python-0.2.
|
|
118
|
-
onvif_python-0.2.
|
|
119
|
-
onvif_python-0.2.
|
|
120
|
-
onvif_python-0.2.
|
|
121
|
-
onvif_python-0.2.
|
|
116
|
+
onvif_python-0.2.3.dist-info/licenses/LICENSE.md,sha256=ya8FumJeUkFWwCMkG9KdMxHWRWMNhtI3vHzzAWPQS8s,1091
|
|
117
|
+
onvif_python-0.2.3.dist-info/METADATA,sha256=S3xGN8GO9zjZzN_EyOuRPws8og4d6QpTtsC5K5zpcIU,60837
|
|
118
|
+
onvif_python-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
119
|
+
onvif_python-0.2.3.dist-info/entry_points.txt,sha256=7xUdI64yzWh7YfNPQDKCW9cT8XIgWuNCloikP9-yjqY,46
|
|
120
|
+
onvif_python-0.2.3.dist-info/top_level.txt,sha256=MqCi1uJmIvtVFJDz2IxLbpwq6FwDtWhqrWQtKwLaQg4,6
|
|
121
|
+
onvif_python-0.2.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|