-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathaccessrules.py
More file actions
52 lines (39 loc) · 1.98 KB
/
Copy pathaccessrules.py
File metadata and controls
52 lines (39 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# onvif/services/accessrules.py
from ..operator import ONVIFOperator
from ..utils import ONVIFWSDL, ONVIFService
class AccessRules(ONVIFService):
def __init__(self, xaddr=None, **kwargs):
# References:
# - ONVIF Release 2.6 (June 2015) Release Notes
# - AccessRulesBinding (ver10/accessrules/wsdl/accessrules.wsdl)
# - Operations: https://developer.onvif.org/pub/specs/branches/development/wsdl/ver10/accessrules/wsdl/accessrules.wsdl
definition = ONVIFWSDL.get_definition("accessrules")
self.operator = ONVIFOperator(
definition["path"],
binding=f"{{{definition['namespace']}}}{definition['binding']}",
service_path="AccessRules", # fallback
xaddr=xaddr,
**kwargs,
)
def GetServiceCapabilities(self):
return self.operator.call("GetServiceCapabilities")
def GetAccessProfileInfo(self, Token):
return self.operator.call("GetAccessProfileInfo", Token=Token)
def GetAccessProfileInfoList(self, Limit=None, StartReference=None):
return self.operator.call(
"GetAccessProfileInfoList", Limit=Limit, StartReference=StartReference
)
def GetAccessProfiles(self, Token):
return self.operator.call("GetAccessProfiles", Token=Token)
def GetAccessProfileList(self, Limit=None, StartReference=None):
return self.operator.call(
"GetAccessProfileList", Limit=Limit, StartReference=StartReference
)
def CreateAccessProfile(self, AccessProfile):
return self.operator.call("CreateAccessProfile", AccessProfile=AccessProfile)
def ModifyAccessProfile(self, AccessProfile):
return self.operator.call("ModifyAccessProfile", AccessProfile=AccessProfile)
def SetAccessProfile(self, AccessProfile):
return self.operator.call("SetAccessProfile", AccessProfile=AccessProfile)
def DeleteAccessProfile(self, Token):
return self.operator.call("DeleteAccessProfile", Token=Token)