From 124fe6863bcff9167d1f6fb374251a82b6a58b3d Mon Sep 17 00:00:00 2001 From: oroulet <olivier@r-dt.net> Date: Fri, 8 Jan 2021 13:25:32 +0100 Subject: [PATCH] support string NodeId from 1.04 spec. add debug --- asyncua/common/structures104.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/asyncua/common/structures104.py b/asyncua/common/structures104.py index d15395fd..b88578ed 100644 --- a/asyncua/common/structures104.py +++ b/asyncua/common/structures104.py @@ -124,7 +124,6 @@ def make_structure_code(data_type, struct_name, sdef): if sdef.StructureType not in (ua.StructureType.Structure, ua.StructureType.StructureWithOptionalFields): # if sdef.StructureType != ua.StructureType.Structure: raise NotImplementedError(f"Only StructureType implemented, not {ua.StructureType(sdef.StructureType).name} for node {struct_name} with DataTypdeDefinition {sdef}") - code = f""" class {struct_name}: @@ -133,7 +132,7 @@ class {struct_name}: {struct_name} structure autogenerated from StructureDefinition object ''' - data_type = ua.NodeId({data_type.Identifier}, {data_type.NamespaceIndex}) + data_type = ua.NodeId.from_string("{data_type.to_string()}") """ counter = 0 @@ -219,6 +218,8 @@ async def _generate_object(name, sdef, data_type=None, env=None, enum=False): code = make_enum_code(name, sdef) else: code = make_structure_code(data_type, name, sdef) + print("SDEF", sdef) + print("CODE", code) logger.debug("Executing code: %s", code) exec(code, env) return env -- 2.30.9