@@ 207-218 (lines=12) @@ | ||
204 | if obj.value is not None: |
|
205 | attrs.Value = self._add_variable_value(obj,) |
|
206 | if obj.rank: |
|
207 | attrs.ValueRank = obj.rank |
|
208 | if obj.accesslevel: |
|
209 | attrs.AccessLevel = obj.accesslevel |
|
210 | if obj.useraccesslevel: |
|
211 | attrs.UserAccessLevel = obj.useraccesslevel |
|
212 | if obj.minsample: |
|
213 | attrs.MinimumSamplingInterval = obj.minsample |
|
214 | if obj.dimensions: |
|
215 | attrs.ArrayDimensions = obj.dimensions |
|
216 | node.NodeAttributes = attrs |
|
217 | res = self.server.add_nodes([node]) |
|
218 | self._add_refs(obj) |
|
219 | return res[0].AddedNodeId |
|
220 | ||
221 | def _make_ext_obj(sefl, obj): |
|
@@ 85-95 (lines=11) @@ | ||
82 | for nodedata in nodes_parsed: # self.parser: |
|
83 | if nodedata.nodetype == 'UAObject': |
|
84 | node = self.add_object(nodedata) |
|
85 | elif nodedata.nodetype == 'UAObjectType': |
|
86 | node = self.add_object_type(nodedata) |
|
87 | elif nodedata.nodetype == 'UAVariable': |
|
88 | node = self.add_variable(nodedata) |
|
89 | elif nodedata.nodetype == 'UAVariableType': |
|
90 | node = self.add_variable_type(nodedata) |
|
91 | elif nodedata.nodetype == 'UAReferenceType': |
|
92 | node = self.add_reference_type(nodedata) |
|
93 | elif nodedata.nodetype == 'UADataType': |
|
94 | node = self.add_datatype(nodedata) |
|
95 | elif nodedata.nodetype == 'UAMethod': |
|
96 | node = self.add_method(nodedata) |
|
97 | else: |
|
98 | self.logger.warning("Not implemented node type: %s ", nodedata.nodetype) |
|
@@ 73-83 (lines=11) @@ | ||
70 | self.logger.info("Importing XML file %s", xmlpath) |
|
71 | self.parser = xmlparser.XMLParser(xmlpath, act_server) |
|
72 | ||
73 | self.namespaces = self._map_namespaces(self.parser.get_used_namespaces(), act_server) |
|
74 | self.aliases = self._map_aliases(self.parser.get_aliases()) |
|
75 | ||
76 | # The ordering of nodes currently only works if namespaces are |
|
77 | # defined in XML. |
|
78 | # Also, it is recommended not to use node ids without namespace prefix! |
|
79 | nodes_parsed = self._sort_nodes_by_parentid(self.parser) |
|
80 | ||
81 | nodes = [] |
|
82 | for nodedata in nodes_parsed: # self.parser: |
|
83 | if nodedata.nodetype == 'UAObject': |
|
84 | node = self.add_object(nodedata) |
|
85 | elif nodedata.nodetype == 'UAObjectType': |
|
86 | node = self.add_object_type(nodedata) |