Commit bb5a2ffd authored by maljac's avatar maljac Committed by ORD

Add instantiate support for data types and methods (#259)

parent f17f79ee
......@@ -44,8 +44,8 @@ def _instantiate_node(server, parentid, rdesc, nodeid, bname, recursive=True):
"""
addnode = ua.AddNodesItem()
addnode.RequestedNewNodeId = nodeid
addnode.BrowseName = bname
addnode.RequestedNewNodeId = nodeid
addnode.BrowseName = bname
addnode.ParentNodeId = parentid
addnode.ReferenceTypeId = rdesc.ReferenceTypeId
addnode.TypeDefinition = rdesc.TypeDefinition
......@@ -59,7 +59,12 @@ def _instantiate_node(server, parentid, rdesc, nodeid, bname, recursive=True):
elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType):
addnode.NodeClass = ua.NodeClass.Variable
_read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode)
elif rdesc.NodeClass in (ua.NodeClass.DataType,):
addnode.NodeClass = ua.NodeClass.DataType
_read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode)
elif rdesc.NodeClass in (ua.NodeClass.Method,):
addnode.NodeClass = ua.NodeClass.Method
_read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode)
else:
print("Instantiate: Node class not supported: ", rdesc.NodeClass)
......@@ -86,4 +91,3 @@ def _read_and_copy_attrs(node_type, struct, addnode):
else:
print("Instantiate: while copying attributes from node type %s, attribute %s, statuscode is %s" % (node_type, name, results[idx].StatusCode))
addnode.NodeAttributes = struct
......@@ -80,7 +80,7 @@ class XMLParser(object):
name = self._retag.match(child.tag).groups()[1]
if name == "Aliases":
for el in child:
self.aliases[el.attrib["Alias"]] = el.text
self.aliases[el.attrib["Alias"]] = self._get_node_id(el.text)
elif name == 'NamespaceUris':
for ns_index, ns_element in enumerate(child):
ns_uri = ns_element.text
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment