@@ 207-218 (lines=12) @@ | ||
204 | if obj.useraccesslevel: |
|
205 | attrs.UserAccessLevel = obj.useraccesslevel |
|
206 | if obj.minsample: |
|
207 | attrs.MinimumSamplingInterval = obj.minsample |
|
208 | if obj.dimensions: |
|
209 | attrs.ArrayDimensions = obj.dimensions |
|
210 | node.NodeAttributes = attrs |
|
211 | res = self.server.add_nodes([node]) |
|
212 | self._add_refs(obj) |
|
213 | return res[0].AddedNodeId |
|
214 | ||
215 | def add_reference(self, obj): |
|
216 | node = self._get_node(obj) |
|
217 | attrs = ua.ReferenceTypeAttributes() |
|
218 | if obj.desc: |
|
219 | attrs.Description = ua.LocalizedText(obj.desc) |
|
220 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
221 | if obj. inversename: |
|
@@ 85-95 (lines=11) @@ | ||
82 | def to_nodeid(self, nodeid): |
|
83 | if not nodeid: |
|
84 | return ua.NodeId(ua.ObjectIds.String) |
|
85 | elif "=" in nodeid: |
|
86 | return ua.NodeId.from_string(nodeid) |
|
87 | elif hasattr(ua.ObjectIds, nodeid): |
|
88 | return ua.NodeId(getattr(ua.ObjectIds, nodeid)) |
|
89 | else: |
|
90 | if nodeid in self.parser.aliases: |
|
91 | nodeid = self.parser.aliases[nodeid] |
|
92 | else: |
|
93 | nodeid = "i={}".format(getattr(ua.ObjectIds, nodeid)) |
|
94 | return ua.NodeId.from_string(nodeid) |
|
95 | ||
96 | def add_object(self, obj): |
|
97 | node = self._get_node(obj) |
|
98 | attrs = ua.ObjectAttributes() |
|
@@ 73-83 (lines=11) @@ | ||
70 | node = ua.AddNodesItem() |
|
71 | node.RequestedNewNodeId = ua.NodeId.from_string(obj.nodeid) |
|
72 | node.BrowseName = ua.QualifiedName.from_string(obj.browsename) |
|
73 | node.NodeClass = getattr(ua.NodeClass, obj.nodetype[2:]) |
|
74 | if obj.parent: |
|
75 | node.ParentNodeId = ua.NodeId.from_string(obj.parent) |
|
76 | if obj.parentlink: |
|
77 | node.ReferenceTypeId = self.to_nodeid(obj.parentlink) |
|
78 | if obj.typedef: |
|
79 | node.TypeDefinition = ua.NodeId.from_string(obj.typedef) |
|
80 | return node |
|
81 | ||
82 | def to_nodeid(self, nodeid): |
|
83 | if not nodeid: |
|
84 | return ua.NodeId(ua.ObjectIds.String) |
|
85 | elif "=" in nodeid: |
|
86 | return ua.NodeId.from_string(nodeid) |