Skip to content

Commit b712e0c

Browse files
committed
code(example): Modify pull_live_events.py script
1 parent 2284db9 commit b712e0c

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

‎examples/pull_live_events.py‎

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
import datetime
1212
import xml.etree.ElementTree as ET
1313
from zeep.plugins import HistoryPlugin
14-
from onvif import ONVIFClient
14+
from onvif import ONVIFClient, CacheMode
1515

16-
HOST = "192.168.1.6"
17-
PORT = 8000
16+
HOST = "192.168.1.3"
17+
PORT = 80
1818
USERNAME = "admin"
1919
PASSWORD = "admin123"
2020

21-
client = ONVIFClient(HOST, PORT, USERNAME, PASSWORD)
21+
client = ONVIFClient(HOST, PORT, USERNAME, PASSWORD, cache=CacheMode.NONE)
2222

2323
# 1. Create PullPoint Subscription from Events service
2424
subscription = client.events().CreatePullPointSubscription()
@@ -80,11 +80,14 @@
8080
print("⚠️ HistoryPlugin topic parse error:", e)
8181

8282
# Extract Message (XML element)
83+
# After the patch, _value_1 is directly a list of Elements (not a dict)
8384
msg_elem = None
84-
if isinstance(n.Message, dict) and "_value_1" in n.Message:
85-
msg_elem = n.Message["_value_1"]
86-
elif hasattr(n.Message, "_value_1"):
87-
msg_elem = n.Message._value_1
85+
if hasattr(n.Message, "_value_1") and n.Message._value_1:
86+
# _value_1 is now a list of Elements, take the first one
87+
if isinstance(n.Message._value_1, list) and len(n.Message._value_1) > 0:
88+
msg_elem = n.Message._value_1[0]
89+
else:
90+
msg_elem = n.Message._value_1
8891

8992
if msg_elem is not None:
9093
# Extract timestamp from UtcTime attribute

0 commit comments

Comments
 (0)