Commit 9ea78dae authored by Cooper Bodary's avatar Cooper Bodary Committed by oroulet

Fix loading a single custom struct

parent eb80df4d
...@@ -360,7 +360,7 @@ async def _get_parent_types(node: Node): ...@@ -360,7 +360,7 @@ async def _get_parent_types(node: Node):
refs = await tmp_node.get_references(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse) refs = await tmp_node.get_references(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse)
if not refs or refs[0].NodeId.NamespaceIndex == 0 and refs[0].NodeId.Identifier == 22: if not refs or refs[0].NodeId.NamespaceIndex == 0 and refs[0].NodeId.Identifier == 22:
return parents return parents
tmp_node = Node(tmp_node.session, refs[0]) tmp_node = Node(tmp_node.session, refs[0].NodeId)
parents.append(tmp_node) parents.append(tmp_node)
_logger.warning("Went 10 layers up while look of subtype of given node %s, something is wrong: %s", node, parents) _logger.warning("Went 10 layers up while look of subtype of given node %s, something is wrong: %s", node, parents)
...@@ -370,7 +370,7 @@ async def load_custom_struct(node: Node) -> Any: ...@@ -370,7 +370,7 @@ async def load_custom_struct(node: Node) -> Any:
name = (await node.read_browse_name()).Name name = (await node.read_browse_name()).Name
for parent in await _get_parent_types(node): for parent in await _get_parent_types(node):
parent_sdef = await parent.read_data_type_definition() parent_sdef = await parent.read_data_type_definition()
for f in reversed(parent_sdef.fields): for f in reversed(parent_sdef.Fields):
sdef.Fields.insert(0, f) sdef.Fields.insert(0, f)
env = await _generate_object(name, sdef, data_type=node.nodeid) env = await _generate_object(name, sdef, data_type=node.nodeid)
struct = env[name] struct = env[name]
......
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