@@ 254-273 (lines=20) @@ | ||
251 | else: |
|
252 | return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype)) |
|
253 | ||
254 | def add_variable_type(self, obj): |
|
255 | node = self._get_node(obj) |
|
256 | attrs = ua.VariableTypeAttributes() |
|
257 | if obj.desc: |
|
258 | attrs.Description = ua.LocalizedText(obj.desc) |
|
259 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
260 | attrs.DataType = self.to_nodeid(obj.datatype) |
|
261 | if obj.value and len(obj.value) == 1: |
|
262 | attrs.Value = obj.value[0] |
|
263 | if obj.rank: |
|
264 | attrs.ValueRank = obj.rank |
|
265 | if obj.abstract: |
|
266 | attrs.IsAbstract = obj.abstract |
|
267 | if obj.dimensions: |
|
268 | attrs.ArrayDimensions = obj.dimensions |
|
269 | node.NodeAttributes = attrs |
|
270 | res = self.server.iserver.isession.add_nodes([node]) |
|
271 | self._add_refs(obj) |
|
272 | res[0].StatusCode.check() |
|
273 | return res[0].AddedNodeId |
|
274 | ||
275 | def add_method(self, obj): |
|
276 | node = self._get_node(obj) |
|
@@ 275-293 (lines=19) @@ | ||
272 | res[0].StatusCode.check() |
|
273 | return res[0].AddedNodeId |
|
274 | ||
275 | def add_method(self, obj): |
|
276 | node = self._get_node(obj) |
|
277 | attrs = ua.MethodAttributes() |
|
278 | if obj.desc: |
|
279 | attrs.Description = ua.LocalizedText(obj.desc) |
|
280 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
281 | if obj.accesslevel: |
|
282 | attrs.AccessLevel = obj.accesslevel |
|
283 | if obj.useraccesslevel: |
|
284 | attrs.UserAccessLevel = obj.useraccesslevel |
|
285 | if obj.minsample: |
|
286 | attrs.MinimumSamplingInterval = obj.minsample |
|
287 | if obj.dimensions: |
|
288 | attrs.ArrayDimensions = obj.dimensions |
|
289 | node.NodeAttributes = attrs |
|
290 | res = self.server.iserver.isession.add_nodes([node]) |
|
291 | self._add_refs(obj) |
|
292 | res[0].StatusCode.check() |
|
293 | return res[0].AddedNodeId |
|
294 | ||
295 | def add_reference_type(self, obj): |
|
296 | node = self._get_node(obj) |