onvif-python 0.0.1__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.
Files changed (106) hide show
  1. onvif/__init__.py +13 -0
  2. onvif/client.py +485 -0
  3. onvif/operator.py +130 -0
  4. onvif/services/__init__.py +75 -0
  5. onvif/services/accesscontrol.py +105 -0
  6. onvif/services/accessrules.py +47 -0
  7. onvif/services/actionengine.py +46 -0
  8. onvif/services/analytics/analytics.py +60 -0
  9. onvif/services/analytics/ruleengine.py +44 -0
  10. onvif/services/analyticsdevice.py +122 -0
  11. onvif/services/appmgmt.py +40 -0
  12. onvif/services/authenticationbehavior.py +83 -0
  13. onvif/services/credential.py +159 -0
  14. onvif/services/deviceio.py +165 -0
  15. onvif/services/devicemgmt.py +410 -0
  16. onvif/services/display.py +62 -0
  17. onvif/services/doorcontrol.py +93 -0
  18. onvif/services/events/events.py +41 -0
  19. onvif/services/events/notification.py +34 -0
  20. onvif/services/events/pullpoint.py +29 -0
  21. onvif/services/events/subscription.py +21 -0
  22. onvif/services/imaging.py +62 -0
  23. onvif/services/media.py +424 -0
  24. onvif/services/media2.py +310 -0
  25. onvif/services/provisioning.py +50 -0
  26. onvif/services/ptz.py +187 -0
  27. onvif/services/receiver.py +46 -0
  28. onvif/services/recording.py +136 -0
  29. onvif/services/replay.py +30 -0
  30. onvif/services/schedule.py +82 -0
  31. onvif/services/search.py +149 -0
  32. onvif/services/security/advancedsecurity.py +19 -0
  33. onvif/services/security/authorizationserver.py +31 -0
  34. onvif/services/security/dot1x.py +42 -0
  35. onvif/services/security/jwt.py +21 -0
  36. onvif/services/security/keystore.py +208 -0
  37. onvif/services/security/mediasigning.py +30 -0
  38. onvif/services/security/tlsserver.py +82 -0
  39. onvif/services/thermal.py +54 -0
  40. onvif/services/uplink.py +28 -0
  41. onvif/utils/__init__.py +4 -0
  42. onvif/utils/exceptions.py +33 -0
  43. onvif/utils/wsdl.py +297 -0
  44. onvif/wsdl/ver10/accesscontrol/wsdl/index.html +7 -0
  45. onvif/wsdl/ver10/accessrules/wsdl/accessrules.wsdl +702 -0
  46. onvif/wsdl/ver10/accessrules/wsdl/index.html +7 -0
  47. onvif/wsdl/ver10/actionengine.wsdl +1265 -0
  48. onvif/wsdl/ver10/advancedsecurity/wsdl/advancedsecurity.wsdl +4159 -0
  49. onvif/wsdl/ver10/advancedsecurity/wsdl/index.html +7 -0
  50. onvif/wsdl/ver10/analyticsdevice.wsdl +709 -0
  51. onvif/wsdl/ver10/appmgmt/wsdl/appmgmt.wsdl +502 -0
  52. onvif/wsdl/ver10/appmgmt/wsdl/index.html +7 -0
  53. onvif/wsdl/ver10/authenticationbehavior/wsdl/authenticationbehavior.wsdl +1382 -0
  54. onvif/wsdl/ver10/authenticationbehavior/wsdl/index.html +7 -0
  55. onvif/wsdl/ver10/credential/wsdl/credential.wsdl +2018 -0
  56. onvif/wsdl/ver10/credential/wsdl/index.html +7 -0
  57. onvif/wsdl/ver10/device/wsdl/devicemgmt.wsdl +4623 -0
  58. onvif/wsdl/ver10/deviceio.wsdl +1414 -0
  59. onvif/wsdl/ver10/display/display.wsdl +383 -0
  60. onvif/wsdl/ver10/display/wsdl/index.htm +383 -0
  61. onvif/wsdl/ver10/display.wsdl +521 -0
  62. onvif/wsdl/ver10/doorcontrol/wsdl/index.html +7 -0
  63. onvif/wsdl/ver10/events/wsdl/bw-2-vs-mod.wsdl +449 -0
  64. onvif/wsdl/ver10/events/wsdl/event-vs.wsdl +947 -0
  65. onvif/wsdl/ver10/events/wsdl/event.wsdl +947 -0
  66. onvif/wsdl/ver10/events/wsdl/index.html +7 -0
  67. onvif/wsdl/ver10/federatedsearch.wsdl +344 -0
  68. onvif/wsdl/ver10/media/wsdl/media.wsdl +3684 -0
  69. onvif/wsdl/ver10/pacs/accesscontrol.wsdl +1942 -0
  70. onvif/wsdl/ver10/pacs/doorcontrol.wsdl +1792 -0
  71. onvif/wsdl/ver10/pacs/types.xsd +181 -0
  72. onvif/wsdl/ver10/provisioning/wsdl/provisioning.wsdl +588 -0
  73. onvif/wsdl/ver10/receiver.wsdl +398 -0
  74. onvif/wsdl/ver10/recording.wsdl +1231 -0
  75. onvif/wsdl/ver10/replay.wsdl +221 -0
  76. onvif/wsdl/ver10/schedule/wsdl/index.html +7 -0
  77. onvif/wsdl/ver10/schedule/wsdl/schedule.wsdl +1383 -0
  78. onvif/wsdl/ver10/schema/common.xsd +422 -0
  79. onvif/wsdl/ver10/schema/metadatastream.xsd +520 -0
  80. onvif/wsdl/ver10/schema/onvif.xsd +9251 -0
  81. onvif/wsdl/ver10/search.wsdl +882 -0
  82. onvif/wsdl/ver10/thermal/wsdl/index.html +7 -0
  83. onvif/wsdl/ver10/thermal/wsdl/thermal.wsdl +777 -0
  84. onvif/wsdl/ver10/topics/topicns.xml +13 -0
  85. onvif/wsdl/ver10/uplink/wsdl/index.html +7 -0
  86. onvif/wsdl/ver10/uplink/wsdl/uplink.wsdl +256 -0
  87. onvif/wsdl/ver20/analytics/humanbody.xsd +490 -0
  88. onvif/wsdl/ver20/analytics/humanface.xsd +501 -0
  89. onvif/wsdl/ver20/analytics/index.html +7 -0
  90. onvif/wsdl/ver20/analytics/radiometry.xsd +389 -0
  91. onvif/wsdl/ver20/analytics/rules.xsd +127 -0
  92. onvif/wsdl/ver20/analytics/wsdl/analytics.wsdl +757 -0
  93. onvif/wsdl/ver20/analytics/wsdl/index.html +7 -0
  94. onvif/wsdl/ver20/imaging/wsdl/imaging.wsdl +603 -0
  95. onvif/wsdl/ver20/media/wsdl/index.html +7 -0
  96. onvif/wsdl/ver20/media/wsdl/media.wsdl +2862 -0
  97. onvif/wsdl/ver20/ptz/wsdl/ptz.wsdl +1450 -0
  98. onvif/wsdl/ver20/util/federated_search_documentation.html +1647 -0
  99. onvif/wsdl/ver20/util/fedsearch-docu-viewer.xsl +8 -0
  100. onvif/wsdl/ver20/util/onvif-wsdl-viewer.xsl +2580 -0
  101. onvif/wsdl/ver20/util/operationIndex.html +97 -0
  102. onvif_python-0.0.1.dist-info/METADATA +381 -0
  103. onvif_python-0.0.1.dist-info/RECORD +106 -0
  104. onvif_python-0.0.1.dist-info/WHEEL +5 -0
  105. onvif_python-0.0.1.dist-info/licenses/LICENSE.md +21 -0
  106. onvif_python-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,410 @@
1
+ # onvif/services/devicemgmt.py
2
+
3
+ from ..operator import ONVIFOperator
4
+ from ..utils import ONVIFWSDL
5
+
6
+
7
+ class Device:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("devicemgmt")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ service_path="device_service", # fallback
14
+ xaddr=xaddr,
15
+ **kwargs,
16
+ )
17
+
18
+ def GetServices(self, IncludeCapability):
19
+ return self.operator.call(
20
+ "GetServices", IncludeCapability=IncludeCapability
21
+ )
22
+
23
+ def GetServiceCapabilities(self):
24
+ return self.operator.call("GetServiceCapabilities")
25
+
26
+ def GetDeviceInformation(self):
27
+ return self.operator.call("GetDeviceInformation")
28
+
29
+ def SetSystemDateAndTime(
30
+ self, DateTimeType, DaylightSavings=True, TimeZone=None, UTCDateTime=None
31
+ ):
32
+ return self.operator.call(
33
+ "SetSystemDateAndTime",
34
+ DateTimeType=DateTimeType,
35
+ DaylightSavings=DaylightSavings,
36
+ TimeZone=TimeZone,
37
+ UTCDateTime=UTCDateTime,
38
+ )
39
+
40
+ def GetSystemDateAndTime(self):
41
+ return self.operator.call("GetSystemDateAndTime")
42
+
43
+ def SetSystemFactoryDefault(self, FactoryDefault):
44
+ return self.operator.call(
45
+ "SetSystemFactoryDefault", FactoryDefault=FactoryDefault
46
+ )
47
+
48
+ def UpgradeSystemFirmware(self, Firmware):
49
+ return self.operator.call("UpgradeSystemFirmware", Firmware=Firmware)
50
+
51
+ def SystemReboot(self):
52
+ return self.operator.call("SystemReboot")
53
+
54
+ def RestoreSystem(self, BackupFiles):
55
+ return self.operator.call("RestoreSystem", BackupFiles=BackupFiles)
56
+
57
+ def GetSystemBackup(self):
58
+ return self.operator.call("GetSystemBackup")
59
+
60
+ def GetSystemLog(self, LogType):
61
+ return self.operator.call("GetSystemLog", LogType=LogType)
62
+
63
+ def GetSystemSupportInformation(self):
64
+ return self.operator.call("GetSystemSupportInformation")
65
+
66
+ def GetScopes(self):
67
+ return self.operator.call("GetScopes")
68
+
69
+ def SetScopes(self, Scopes):
70
+ return self.operator.call("SetScopes", Scopes=Scopes)
71
+
72
+ def AddScopes(self, ScopeItem):
73
+ return self.operator.call("AddScopes", ScopeItem=ScopeItem)
74
+
75
+ def RemoveScopes(self, ScopeItem):
76
+ return self.operator.call("RemoveScopes", ScopeItem=ScopeItem)
77
+
78
+ def GetDiscoveryMode(self):
79
+ return self.operator.call("GetDiscoveryMode")
80
+
81
+ def SetDiscoveryMode(self, DiscoveryMode):
82
+ return self.operator.call("SetDiscoveryMode", DiscoveryMode=DiscoveryMode)
83
+
84
+ def GetRemoteDiscoveryMode(self):
85
+ return self.operator.call("GetRemoteDiscoveryMode")
86
+
87
+ def SetRemoteDiscoveryMode(self, RemoteDiscoveryMode):
88
+ return self.operator.call(
89
+ "SetRemoteDiscoveryMode", RemoteDiscoveryMode=RemoteDiscoveryMode
90
+ )
91
+
92
+ def GetDPAddresses(self):
93
+ return self.operator.call("GetDPAddresses")
94
+
95
+ def GetEndpointReference(self):
96
+ return self.operator.call("GetEndpointReference")
97
+
98
+ def GetRemoteUser(self):
99
+ return self.operator.call("GetRemoteUser")
100
+
101
+ def SetRemoteUser(self, RemoteUser=None):
102
+ return self.operator.call("SetRemoteUser", RemoteUser=RemoteUser)
103
+
104
+ def GetUsers(self):
105
+ return self.operator.call("GetUsers")
106
+
107
+ def CreateUsers(self, User):
108
+ return self.operator.call("CreateUsers", User=User)
109
+
110
+ def DeleteUsers(self, Username):
111
+ return self.operator.call("DeleteUsers", Username=Username)
112
+
113
+ def SetUser(self, User):
114
+ return self.operator.call("SetUser", User=User)
115
+
116
+ def GetWsdlUrl(self):
117
+ return self.operator.call("GetWsdlUrl")
118
+
119
+ def GetPasswordComplexityOptions(self):
120
+ return self.operator.call("GetPasswordComplexityOptions")
121
+
122
+ def GetPasswordComplexityConfiguration(self):
123
+ return self.operator.call("GetPasswordComplexityConfiguration")
124
+
125
+ def SetPasswordComplexityConfiguration(
126
+ self,
127
+ MinLen=None,
128
+ Uppercase=None,
129
+ Number=None,
130
+ SpecialChars=None,
131
+ BlockUsernameOccurrence=None,
132
+ PolicyConfigurationLocked=None,
133
+ ):
134
+ return self.operator.call(
135
+ "SetPasswordComplexityConfiguration",
136
+ MinLen=MinLen,
137
+ Uppercase=Uppercase,
138
+ Number=Number,
139
+ SpecialChars=SpecialChars,
140
+ BlockUsernameOccurrence=BlockUsernameOccurrence,
141
+ PolicyConfigurationLocked=PolicyConfigurationLocked,
142
+ )
143
+
144
+ def GetPasswordHistoryConfiguration(self):
145
+ return self.operator.call("GetPasswordHistoryConfiguration")
146
+
147
+ def SetPasswordHistoryConfiguration(self, Enabled, Length):
148
+ return self.operator.call(
149
+ "SetPasswordHistoryConfiguration", Enabled=Enabled, Length=Length
150
+ )
151
+
152
+ def GetAuthFailureWarningOptions(self):
153
+ return self.operator.call("GetAuthFailureWarningOptions")
154
+
155
+ def GetAuthFailureWarningConfiguration(self):
156
+ return self.operator.call("GetAuthFailureWarningConfiguration")
157
+
158
+ def SetAuthFailureWarningConfiguration(
159
+ self, Enabled, MonitorPeriod, MaxAuthFailures
160
+ ):
161
+ return self.operator.call(
162
+ "SetAuthFailureWarningConfiguration",
163
+ Enabled=Enabled,
164
+ MonitorPeriod=MonitorPeriod,
165
+ MaxAuthFailures=MaxAuthFailures,
166
+ )
167
+
168
+ def GetCapabilities(self, Category=None):
169
+ return self.operator.call("GetCapabilities", Category=Category)
170
+
171
+ def SetDPAddresses(self, DPAddresses=None):
172
+ return self.operator.call("SetDPAddresses", DPAddresses=DPAddresses)
173
+
174
+ def GetHostname(self):
175
+ return self.operator.call("GetHostname")
176
+
177
+ def SetHostname(self, Name):
178
+ return self.operator.call("SetHostname", Name=Name)
179
+
180
+ def SetHostnameFromDHCP(self, FromDHCP):
181
+ return self.operator.call("SetHostnameFromDHCP", FromDHCP=FromDHCP)
182
+
183
+ def GetDNS(self):
184
+ return self.operator.call("GetDNS")
185
+
186
+ def SetDNS(self, FromDHCP, SearchDomain=None, DNSManual=None):
187
+ return self.operator.call(
188
+ "SetDNS", FromDHCP=FromDHCP, SearchDomain=SearchDomain, DNSManual=DNSManual
189
+ )
190
+
191
+ def GetNTP(self):
192
+ return self.operator.call("GetNTP")
193
+
194
+ def SetNTP(self, FromDHCP, NTPManual=None):
195
+ return self.operator.call("SetNTP", FromDHCP=FromDHCP, NTPManual=NTPManual)
196
+
197
+ def GetDynamicDNS(self):
198
+ return self.operator.call("GetDynamicDNS")
199
+
200
+ def SetDynamicDNS(self, Type, Name=None, TTL=None):
201
+ return self.operator.call("SetDynamicDNS", Type=Type, Name=Name, TTL=TTL)
202
+
203
+ def GetNetworkInterfaces(self):
204
+ return self.operator.call("GetNetworkInterfaces")
205
+
206
+ def SetNetworkInterfaces(self, InterfaceToken, NetworkInterface):
207
+ return self.operator.call(
208
+ "SetNetworkInterfaces",
209
+ InterfaceToken=InterfaceToken,
210
+ NetworkInterface=NetworkInterface,
211
+ )
212
+
213
+ def GetNetworkProtocols(self):
214
+ return self.operator.call("GetNetworkProtocols")
215
+
216
+ def SetNetworkProtocols(self, NetworkProtocols):
217
+ return self.operator.call(
218
+ "SetNetworkProtocols", NetworkProtocols=NetworkProtocols
219
+ )
220
+
221
+ def GetNetworkDefaultGateway(self):
222
+ return self.operator.call("GetNetworkDefaultGateway")
223
+
224
+ def SetNetworkDefaultGateway(self, IPv4Address=None, IPv6Address=None):
225
+ return self.operator.call(
226
+ "SetNetworkDefaultGateway", IPv4Address=IPv4Address, IPv6Address=IPv6Address
227
+ )
228
+
229
+ def GetZeroConfiguration(self):
230
+ return self.operator.call("GetZeroConfiguration")
231
+
232
+ def SetZeroConfiguration(self, InterfaceToken, Enabled):
233
+ return self.operator.call(
234
+ "SetZeroConfiguration", InterfaceToken=InterfaceToken, Enabled=Enabled
235
+ )
236
+
237
+ def GetIPAddressFilter(self):
238
+ return self.operator.call("GetIPAddressFilter")
239
+
240
+ def SetIPAddressFilter(self, IPAddressFilter):
241
+ return self.operator.call("SetIPAddressFilter", IPAddressFilter=IPAddressFilter)
242
+
243
+ def AddIPAddressFilter(self, IPAddressFilter):
244
+ return self.operator.call("AddIPAddressFilter", IPAddressFilter=IPAddressFilter)
245
+
246
+ def RemoveIPAddressFilter(self, IPAddressFilter):
247
+ return self.operator.call(
248
+ "RemoveIPAddressFilter", IPAddressFilter=IPAddressFilter
249
+ )
250
+
251
+ def GetAccessPolicy(self):
252
+ return self.operator.call("GetAccessPolicy")
253
+
254
+ def SetAccessPolicy(self, PolicyFile):
255
+ return self.operator.call("SetAccessPolicy", PolicyFile=PolicyFile)
256
+
257
+ def CreateCertificate(
258
+ self, CertificateID=None, Subject=None, ValidNotBefore=None, ValidNotAfter=None
259
+ ):
260
+ return self.operator.call(
261
+ "CreateCertificate",
262
+ CertificateID=CertificateID,
263
+ Subject=Subject,
264
+ ValidNotBefore=ValidNotBefore,
265
+ ValidNotAfter=ValidNotAfter,
266
+ )
267
+
268
+ def GetCertificates(self):
269
+ return self.operator.call("GetCertificates")
270
+
271
+ def GetCertificatesStatus(self):
272
+ return self.operator.call("GetCertificatesStatus")
273
+
274
+ def SetCertificatesStatus(self, CertificateStatus=None):
275
+ return self.operator.call(
276
+ "SetCertificatesStatus", CertificateStatus=CertificateStatus
277
+ )
278
+
279
+ def DeleteCertificates(self, CertificateID):
280
+ return self.operator.call("DeleteCertificates", CertificateID=CertificateID)
281
+
282
+ def GetPkcs10Request(self, CertificateID, Subject=None, Attributes=None):
283
+ return self.operator.call(
284
+ "GetPkcs10Request",
285
+ CertificateID=CertificateID,
286
+ Subject=Subject,
287
+ Attributes=Attributes,
288
+ )
289
+
290
+ def LoadCertificates(self, NVTCertificate):
291
+ return self.operator.call("LoadCertificates", NVTCertificate=NVTCertificate)
292
+
293
+ def GetClientCertificateMode(self):
294
+ return self.operator.call("GetClientCertificateMode")
295
+
296
+ def SetClientCertificateMode(self, Enabled):
297
+ return self.operator.call("SetClientCertificateMode", Enabled=Enabled)
298
+
299
+ def GetRelayOutputs(self):
300
+ return self.operator.call("GetRelayOutputs")
301
+
302
+ def SetRelayOutputSettings(self, RelayOutputToken, Properties):
303
+ return self.operator.call(
304
+ "SetRelayOutputSettings",
305
+ RelayOutputToken=RelayOutputToken,
306
+ Properties=Properties,
307
+ )
308
+
309
+ def SetRelayOutputState(self, RelayOutputToken, LogicalState):
310
+ return self.operator.call(
311
+ "SetRelayOutputState",
312
+ RelayOutputToken=RelayOutputToken,
313
+ LogicalState=LogicalState,
314
+ )
315
+
316
+ def SendAuxiliaryCommand(self, AuxiliaryCommand):
317
+ return self.operator.call(
318
+ "SendAuxiliaryCommand", AuxiliaryCommand=AuxiliaryCommand
319
+ )
320
+
321
+ def GetCACertificates(self):
322
+ return self.operator.call("GetCACertificates")
323
+
324
+ def LoadCertificateWithPrivateKey(self, CertificateWithPrivateKey):
325
+ return self.operator.call(
326
+ "LoadCertificateWithPrivateKey",
327
+ CertificateWithPrivateKey=CertificateWithPrivateKey,
328
+ )
329
+
330
+ def GetCertificateInformation(self, CertificateID):
331
+ return self.operator.call(
332
+ "GetCertificateInformation", CertificateID=CertificateID
333
+ )
334
+
335
+ def LoadCACertificates(self, CACertificate):
336
+ return self.operator.call("LoadCACertificates", CACertificate=CACertificate)
337
+
338
+ def CreateDot1XConfiguration(self, Dot1XConfiguration):
339
+ return self.operator.call(
340
+ "CreateDot1XConfiguration", Dot1XConfiguration=Dot1XConfiguration
341
+ )
342
+
343
+ def SetDot1XConfiguration(self, Dot1XConfiguration):
344
+ return self.operator.call(
345
+ "SetDot1XConfiguration", Dot1XConfiguration=Dot1XConfiguration
346
+ )
347
+
348
+ def GetDot1XConfiguration(self, Dot1XConfigurationToken):
349
+ return self.operator.call(
350
+ "GetDot1XConfiguration", Dot1XConfigurationToken=Dot1XConfigurationToken
351
+ )
352
+
353
+ def GetDot1XConfigurations(self):
354
+ return self.operator.call("GetDot1XConfigurations")
355
+
356
+ def DeleteDot1XConfiguration(self, Dot1XConfigurationToken=None):
357
+ return self.operator.call(
358
+ "DeleteDot1XConfiguration", Dot1XConfigurationToken=Dot1XConfigurationToken
359
+ )
360
+
361
+ def GetDot11Capabilities(self):
362
+ return self.operator.call("GetDot11Capabilities")
363
+
364
+ def GetDot11Status(self, InterfaceToken):
365
+ return self.operator.call("GetDot11Status", InterfaceToken=InterfaceToken)
366
+
367
+ def ScanAvailableDot11Networks(self, InterfaceToken):
368
+ return self.operator.call(
369
+ "ScanAvailableDot11Networks", InterfaceToken=InterfaceToken
370
+ )
371
+
372
+ def GetSystemUris(self):
373
+ return self.operator.call("GetSystemUris")
374
+
375
+ def StartFirmwareUpgrade(self):
376
+ return self.operator.call("StartFirmwareUpgrade")
377
+
378
+ def StartSystemRestore(self):
379
+ return self.operator.call("StartSystemRestore")
380
+
381
+ def GetStorageConfigurations(self):
382
+ return self.operator.call("GetStorageConfigurations")
383
+
384
+ def CreateStorageConfiguration(self, StorageConfiguration):
385
+ return self.operator.call(
386
+ "CreateStorageConfiguration", StorageConfiguration=StorageConfiguration
387
+ )
388
+
389
+ def GetStorageConfiguration(self, Token):
390
+ return self.operator.call("GetStorageConfiguration", Token=Token)
391
+
392
+ def SetStorageConfiguration(self, StorageConfiguration):
393
+ return self.operator.call(
394
+ "SetStorageConfiguration", StorageConfiguration=StorageConfiguration
395
+ )
396
+
397
+ def DeleteStorageConfiguration(self, Token):
398
+ return self.operator.call("DeleteStorageConfiguration", Token=Token)
399
+
400
+ def GetGeoLocation(self):
401
+ return self.operator.call("GetGeoLocation")
402
+
403
+ def SetGeoLocation(self, Location):
404
+ return self.operator.call("SetGeoLocation", Location=Location)
405
+
406
+ def DeleteGeoLocation(self, Location):
407
+ return self.operator.call("DeleteGeoLocation", Location=Location)
408
+
409
+ def SetHashingAlgorithm(self, Algorithm):
410
+ return self.operator.call("SetHashingAlgorithm", Algorithm=Algorithm)
@@ -0,0 +1,62 @@
1
+ # onvif/services/display.py
2
+
3
+ from ..operator import ONVIFOperator
4
+ from ..utils import ONVIFWSDL
5
+
6
+
7
+ class Display:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("display")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ service_path="Display", # fallback
14
+ xaddr=xaddr,
15
+ **kwargs,
16
+ )
17
+
18
+ def GetServiceCapabilities(self):
19
+ return self.operator.call("GetServiceCapabilities")
20
+
21
+ def GetLayout(self, VideoOutput):
22
+ return self.operator.call("GetLayout", VideoOutput=VideoOutput)
23
+
24
+ def SetLayout(self, VideoOutput, Layout):
25
+ return self.operator.call("SetLayout", VideoOutput=VideoOutput, Layout=Layout)
26
+
27
+ def GetDisplayOptions(self, VideoOutput):
28
+ return self.operator.call("GetDisplayOptions", VideoOutput=VideoOutput)
29
+
30
+ def GetPaneConfigurations(self, VideoOutput):
31
+ return self.operator.call("GetPaneConfigurations", VideoOutput=VideoOutput)
32
+
33
+ def GetPaneConfiguration(self, VideoOutput, Pane):
34
+ return self.operator.call(
35
+ "GetPaneConfiguration", VideoOutput=VideoOutput, Pane=Pane
36
+ )
37
+
38
+ def SetPaneConfigurations(self, VideoOutput, PaneConfiguration):
39
+ return self.operator.call(
40
+ "SetPaneConfigurations",
41
+ VideoOutput=VideoOutput,
42
+ PaneConfiguration=PaneConfiguration,
43
+ )
44
+
45
+ def SetPaneConfiguration(self, VideoOutput, PaneConfiguration):
46
+ return self.operator.call(
47
+ "SetPaneConfiguration",
48
+ VideoOutput=VideoOutput,
49
+ PaneConfiguration=PaneConfiguration,
50
+ )
51
+
52
+ def CreatePaneConfiguration(self, VideoOutput, PaneConfiguration):
53
+ return self.operator.call(
54
+ "CreatePaneConfiguration",
55
+ VideoOutput=VideoOutput,
56
+ PaneConfiguration=PaneConfiguration,
57
+ )
58
+
59
+ def DeletePaneConfiguration(self, VideoOutput, PaneToken):
60
+ return self.operator.call(
61
+ "DeletePaneConfiguration", VideoOutput=VideoOutput, PaneToken=PaneToken
62
+ )
@@ -0,0 +1,93 @@
1
+ # onvif/services/doorcontrol.py
2
+
3
+ from ..operator import ONVIFOperator
4
+ from ..utils import ONVIFWSDL
5
+
6
+
7
+ class DoorControl:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("doorcontrol")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ service_path="DoorControl", # fallback
14
+ xaddr=xaddr,
15
+ **kwargs,
16
+ )
17
+
18
+ def GetServiceCapabilities(self):
19
+ return self.operator.call("GetServiceCapabilities")
20
+
21
+ def GetDoorInfoList(self, Limit=None, StartReference=None):
22
+ return self.operator.call(
23
+ "GetDoorInfoList", Limit=Limit, StartReference=StartReference
24
+ )
25
+
26
+ def GetDoorInfo(self, Token):
27
+ return self.operator.call("GetDoorInfo", Token=Token)
28
+
29
+ def GetDoorList(self, Limit=None, StartReference=None):
30
+ return self.operator.call(
31
+ "GetDoorList", Limit=Limit, StartReference=StartReference
32
+ )
33
+
34
+ def GetDoors(self, Token):
35
+ return self.operator.call("GetDoors", Token=Token)
36
+
37
+ def CreateDoor(self, Door):
38
+ return self.operator.call("CreateDoor", Door=Door)
39
+
40
+ def SetDoor(self, Door):
41
+ return self.operator.call("SetDoor", Door=Door)
42
+
43
+ def ModifyDoor(self, Door):
44
+ return self.operator.call("ModifyDoor", Door=Door)
45
+
46
+ def DeleteDoor(self, Token):
47
+ return self.operator.call("DeleteDoor", Token=Token)
48
+
49
+ def GetDoorState(self, Token):
50
+ return self.operator.call("GetDoorState", Token=Token)
51
+
52
+ def AccessDoor(
53
+ self,
54
+ Token,
55
+ UseExtendedTime=None,
56
+ AccessTime=None,
57
+ OpenTooLongTime=None,
58
+ PreAlarmTime=None,
59
+ Extension=None,
60
+ ):
61
+ return self.operator.call(
62
+ "AccessDoor",
63
+ Token=Token,
64
+ UseExtendedTime=UseExtendedTime,
65
+ AccessTime=AccessTime,
66
+ OpenTooLongTime=OpenTooLongTime,
67
+ PreAlarmTime=PreAlarmTime,
68
+ Extension=Extension,
69
+ )
70
+
71
+ def LockDoor(self, Token):
72
+ return self.operator.call("LockDoor", Token=Token)
73
+
74
+ def UnlockDoor(self, Token):
75
+ return self.operator.call("UnlockDoor", Token=Token)
76
+
77
+ def BlockDoor(self, Token):
78
+ return self.operator.call("BlockDoor", Token=Token)
79
+
80
+ def LockDownDoor(self, Token):
81
+ return self.operator.call("LockDownDoor", Token=Token)
82
+
83
+ def LockDownReleaseDoor(self, Token):
84
+ return self.operator.call("LockDownReleaseDoor", Token=Token)
85
+
86
+ def LockOpenDoor(self, Token):
87
+ return self.operator.call("LockOpenDoor", Token=Token)
88
+
89
+ def LockOpenReleaseDoor(self, Token):
90
+ return self.operator.call("LockOpenReleaseDoor", Token=Token)
91
+
92
+ def DoubleLockDoor(self, Token):
93
+ return self.operator.call("DoubleLockDoor", Token=Token)
@@ -0,0 +1,41 @@
1
+ # onvif/services/events/events.py
2
+
3
+ from ...operator import ONVIFOperator
4
+ from ...utils import ONVIFWSDL
5
+
6
+
7
+ class Events:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("events")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ service_path="Events", # fallback
14
+ xaddr=xaddr,
15
+ **kwargs,
16
+ )
17
+
18
+ def GetServiceCapabilities(self):
19
+ return self.operator.call("GetServiceCapabilities")
20
+
21
+ def CreatePullPointSubscription(
22
+ self, Filter=None, InitialTerminationTime=None, SubscriptionPolicy=None
23
+ ):
24
+ return self.operator.call(
25
+ "CreatePullPointSubscription",
26
+ Filter=Filter,
27
+ InitialTerminationTime=InitialTerminationTime,
28
+ SubscriptionPolicy=SubscriptionPolicy,
29
+ )
30
+
31
+ def GetEventProperties(self):
32
+ return self.operator.call("GetEventProperties")
33
+
34
+ def AddEventBroker(self, EventBroker):
35
+ return self.operator.call("AddEventBroker", EventBroker=EventBroker)
36
+
37
+ def DeleteEventBroker(self, Address):
38
+ return self.operator.call("DeleteEventBroker", Address=Address)
39
+
40
+ def GetEventBrokers(self, Address=None):
41
+ return self.operator.call("GetEventBrokers", Address=Address)
@@ -0,0 +1,34 @@
1
+ # onvif/services/events/notification.py
2
+
3
+ from ...operator import ONVIFOperator
4
+ from ...utils import ONVIFWSDL
5
+
6
+
7
+ class Notification:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("notification")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ service_path="Events", # fallback
14
+ xaddr=xaddr,
15
+ **kwargs,
16
+ )
17
+
18
+ def Subscribe(
19
+ self,
20
+ ConsumerReference=None,
21
+ Filter=None,
22
+ InitialTerminationTime=None,
23
+ SubscriptionPolicy=None,
24
+ ):
25
+ return self.operator.call(
26
+ "Subscribe",
27
+ ConsumerReference=ConsumerReference,
28
+ Filter=Filter,
29
+ InitialTerminationTime=InitialTerminationTime,
30
+ SubscriptionPolicy=SubscriptionPolicy,
31
+ )
32
+
33
+ def GetCurrentMessage(self, Topic):
34
+ return self.operator.call("GetCurrentMessage", Topic=Topic)
@@ -0,0 +1,29 @@
1
+ # onvif/services/events/pullpoint.py
2
+
3
+ from ...operator import ONVIFOperator
4
+ from ...utils import ONVIFWSDL
5
+
6
+
7
+ class PullPoint:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("pullpoint")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ xaddr=xaddr,
14
+ **kwargs,
15
+ )
16
+
17
+ def PullMessages(self, Timeout, MessageLimit):
18
+ return self.operator.call(
19
+ "PullMessages", Timeout=Timeout, MessageLimit=MessageLimit
20
+ )
21
+
22
+ def Seek(self, UtcTime, Reverse=None):
23
+ return self.operator.call("Seek", UtcTime=UtcTime, Reverse=Reverse)
24
+
25
+ def SetSynchronizationPoint(self):
26
+ return self.operator.call("SetSynchronizationPoint")
27
+
28
+ def Unsubscribe(self):
29
+ return self.operator.call("Unsubscribe")
@@ -0,0 +1,21 @@
1
+ # onvif/services/events/subscription.py
2
+
3
+ from ...operator import ONVIFOperator
4
+ from ...utils import ONVIFWSDL
5
+
6
+
7
+ class Subscription:
8
+ def __init__(self, xaddr=None, **kwargs):
9
+ definition = ONVIFWSDL.get_definition("subscription")
10
+ self.operator = ONVIFOperator(
11
+ definition["path"],
12
+ binding=f"{{{definition['namespace']}}}{definition['binding']}",
13
+ xaddr=xaddr,
14
+ **kwargs,
15
+ )
16
+
17
+ def Renew(self, TerminationTime=None):
18
+ return self.operator.call("Renew", TerminationTime=TerminationTime)
19
+
20
+ def Unsubscribe(self):
21
+ return self.operator.call("Unsubscribe")