@@ -57,26 +57,33 @@ def import_xml(self, xmlpath):
5757
5858 nodes = []
5959 for nodedata in nodes_parsed : # self.parser:
60- if nodedata .nodetype == 'UAObject' :
61- node = self .add_object (nodedata )
62- elif nodedata .nodetype == 'UAObjectType' :
63- node = self .add_object_type (nodedata )
64- elif nodedata .nodetype == 'UAVariable' :
65- node = self .add_variable (nodedata )
66- elif nodedata .nodetype == 'UAVariableType' :
67- node = self .add_variable_type (nodedata )
68- elif nodedata .nodetype == 'UAReferenceType' :
69- node = self .add_reference_type (nodedata )
70- elif nodedata .nodetype == 'UADataType' :
71- node = self .add_datatype (nodedata )
72- elif nodedata .nodetype == 'UAMethod' :
73- node = self .add_method (nodedata )
74- else :
75- self .logger .warning ("Not implemented node type: %s " , nodedata .nodetype )
76- continue
60+ try :
61+ node = self ._add_node_data (nodedata )
62+ except Exception :
63+ self .logger .warning ("failure adding node %s" , nodedata )
64+ raise
7765 nodes .append (node )
7866 return nodes
7967
68+ def _add_node_data (self , nodedata ):
69+ if nodedata .nodetype == 'UAObject' :
70+ node = self .add_object (nodedata )
71+ elif nodedata .nodetype == 'UAObjectType' :
72+ node = self .add_object_type (nodedata )
73+ elif nodedata .nodetype == 'UAVariable' :
74+ node = self .add_variable (nodedata )
75+ elif nodedata .nodetype == 'UAVariableType' :
76+ node = self .add_variable_type (nodedata )
77+ elif nodedata .nodetype == 'UAReferenceType' :
78+ node = self .add_reference_type (nodedata )
79+ elif nodedata .nodetype == 'UADataType' :
80+ node = self .add_datatype (nodedata )
81+ elif nodedata .nodetype == 'UAMethod' :
82+ node = self .add_method (nodedata )
83+ else :
84+ self .logger .warning ("Not implemented node type: %s " , nodedata .nodetype )
85+ return node
86+
8087 def _add_node (self , node ):
8188 if isinstance (self .server , opcua .server .server .Server ):
8289 return self .server .iserver .isession .add_nodes ([node ])
0 commit comments