@@ 219-236 (lines=18) @@ | ||
216 | return res[0].AddedNodeId |
|
217 | ||
218 | def add_reference(self, obj): |
|
219 | node = self._get_node(obj) |
|
220 | attrs = ua.ReferenceTypeAttributes() |
|
221 | if obj.desc: |
|
222 | attrs.Description = ua.LocalizedText(obj.desc) |
|
223 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
224 | if obj. inversename: |
|
225 | attrs.InverseName = ua.LocalizedText(obj.inversename) |
|
226 | if obj.abstract: |
|
227 | attrs.IsAbstract = obj.abstract |
|
228 | if obj.symmetric: |
|
229 | attrs.Symmetric = obj.symmetric |
|
230 | node.NodeAttributes = attrs |
|
231 | res = self.server.add_nodes([node]) |
|
232 | self._add_refs(obj) |
|
233 | return res[0].AddedNodeId |
|
234 | ||
235 | def add_datatype(self, obj): |
|
236 | node = self._get_node(obj) |
|
237 | attrs = ua.DataTypeAttributes() |
|
238 | if obj.desc: |
|
239 | attrs.Description = ua.LocalizedText(obj.desc) |
|
@@ 238-253 (lines=16) @@ | ||
235 | def add_datatype(self, obj): |
|
236 | node = self._get_node(obj) |
|
237 | attrs = ua.DataTypeAttributes() |
|
238 | if obj.desc: |
|
239 | attrs.Description = ua.LocalizedText(obj.desc) |
|
240 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
241 | if obj.abstract: |
|
242 | attrs.IsAbstract = obj.abstract |
|
243 | node.NodeAttributes = attrs |
|
244 | res = self.server.add_nodes([node]) |
|
245 | self._add_refs(obj) |
|
246 | return res[0].AddedNodeId |
|
247 | ||
248 | def _add_refs(self, obj): |
|
249 | if not obj.refs: |
|
250 | return |
|
251 | refs = [] |
|
252 | for data in obj.refs: |
|
253 | ref = ua.AddReferencesItem() |
|
254 | ref.IsForward = True |
|
255 | ref.ReferenceTypeId = self.to_nodeid(data.reftype) |
|
256 | ref.SourceNodeId = ua.NodeId.from_string(obj.nodeid) |