@@ 166-195 (lines=30) @@ | ||
163 | # add any references that get used to aliases dict; this gets handled later |
|
164 | self.aliases[datatype] = datatype_nodeid |
|
165 | ||
166 | def add_etree_variable_type(self, obj): |
|
167 | """ |
|
168 | Add a UA variable type element to the XML etree |
|
169 | """ |
|
170 | ||
171 | var_el = self._add_node_common("UAVariableType", obj) |
|
172 | ||
173 | datatype = o_ids.ObjectIdNames[obj.get_data_type().Identifier] |
|
174 | datatype_nodeid = obj.get_data_type().to_string() |
|
175 | accesslevel = str(obj.get_attribute(ua.AttributeIds.AccessLevel).Value.Value) |
|
176 | useraccesslevel = str(obj.get_attribute(ua.AttributeIds.UserAccessLevel).Value.Value) |
|
177 | symbolicname = None # TODO when to export this? |
|
178 | value = str(obj.get_value()) |
|
179 | ||
180 | var_el.attrib["DataType"] = datatype |
|
181 | ||
182 | defaults = ua.VariableAttributes() |
|
183 | if accesslevel != defaults.AccessLevel: |
|
184 | print("ACCESS", accesslevel, defaults.AccessLevel) |
|
185 | var_el.attrib["AccessLevel"] = accesslevel |
|
186 | if useraccesslevel != defaults.UserAccessLevel: |
|
187 | var_el.attrib["UserAccessLevel"] = useraccesslevel |
|
188 | ||
189 | val_el = Et.SubElement(var_el, 'Value') |
|
190 | valx_el = Et.SubElement(val_el, 'uax:' + datatype) |
|
191 | valx_el.text = value |
|
192 | ||
193 | self._add_ref_els(var_el, obj) |
|
194 | # add any references that get used to aliases dict; this gets handled later |
|
195 | self.aliases[datatype] = datatype_nodeid |
|
196 | ||
197 | def add_etree_method(self, obj): |
|
198 | obj_el = self._add_node_common("UAMethod", obj) |
|
@@ 136-164 (lines=29) @@ | ||
133 | obj_el = self._add_node_common("UAObjectType", obj) |
|
134 | self._add_ref_els(obj_el, obj) |
|
135 | ||
136 | def add_etree_variable(self, obj): |
|
137 | """ |
|
138 | Add a UA variable element to the XML etree |
|
139 | """ |
|
140 | var_el = self._add_node_common("UAVariable", obj) |
|
141 | ||
142 | datatype = o_ids.ObjectIdNames[obj.get_data_type().Identifier] |
|
143 | datatype_nodeid = obj.get_data_type().to_string() |
|
144 | accesslevel = str(obj.get_attribute(ua.AttributeIds.AccessLevel).Value.Value) |
|
145 | useraccesslevel = str(obj.get_attribute(ua.AttributeIds.UserAccessLevel).Value.Value) |
|
146 | symbolicname = None # TODO when to export this? |
|
147 | value = str(obj.get_value()) |
|
148 | ||
149 | var_el.attrib["DataType"] = datatype |
|
150 | ||
151 | defaults = ua.VariableAttributes() |
|
152 | if accesslevel != defaults.AccessLevel: |
|
153 | print("ACCESS", accesslevel, defaults.AccessLevel) |
|
154 | var_el.attrib["AccessLevel"] = accesslevel |
|
155 | if useraccesslevel != defaults.UserAccessLevel: |
|
156 | var_el.attrib["UserAccessLevel"] = useraccesslevel |
|
157 | ||
158 | val_el = Et.SubElement(var_el, 'Value') |
|
159 | valx_el = Et.SubElement(val_el, 'uax:' + datatype) |
|
160 | valx_el.text = value |
|
161 | ||
162 | self._add_ref_els(var_el, obj) |
|
163 | # add any references that get used to aliases dict; this gets handled later |
|
164 | self.aliases[datatype] = datatype_nodeid |
|
165 | ||
166 | def add_etree_variable_type(self, obj): |
|
167 | """ |