Commit 4911688a authored by oroulet's avatar oroulet Committed by oroulet

print autogenerated code if execution fails

parent 55a4223c
......@@ -89,6 +89,7 @@ class {self.name}:
if uatype == 'List[ua.Char]':
uatype = 'String'
code += f" {sfield.name}:{uatype} = {sfield.value}\n"
print(code)
return code
......@@ -276,7 +277,11 @@ def _generate_python_class(model, env=None):
# generate classes one by one and add them to dict
for element in model:
code = element.get_code()
exec(code, env)
try:
exec(code, env)
except Exception:
_logger.exception("Failed to execute auto-generated code from UA datatype: %s", code)
raise
return env
......
......@@ -235,7 +235,11 @@ async def _generate_object(name, sdef, data_type=None, env=None, enum=False):
else:
code = make_structure_code(data_type, name, sdef)
logger.debug("Executing code: %s", code)
exec(code, env)
try:
exec(code, env)
except Exception:
logger.exception("Failed to execute auto-generated code from UA datatype: %s", code)
raise
return env
......
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