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