Code Duplication    Length = 17-19 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 297-315 (lines=19) @@
294
            return ua.Variant(ua.NodeId.from_string(obj.value))
295
        else:
296
            return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype))
297
298
    def add_variable_type(self, obj):
299
        node = self._get_node(obj)
300
        attrs = ua.VariableTypeAttributes()
301
        if obj.desc:
302
            attrs.Description = ua.LocalizedText(obj.desc)
303
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
304
        attrs.DataType = self.to_nodeid(obj.datatype)
305
        if obj.value and len(obj.value) == 1:
306
            attrs.Value = obj.value[0]
307
        if obj.rank:
308
            attrs.ValueRank = obj.rank
309
        if obj.abstract:
310
            attrs.IsAbstract = obj.abstract
311
        if obj.dimensions:
312
            attrs.ArrayDimensions = obj.dimensions
313
        node.NodeAttributes = attrs
314
        res = self._add_node(node)
315
        self._add_refs(obj)
316
        res[0].StatusCode.check()
317
        return res[0].AddedNodeId
318
@@ 317-333 (lines=17) @@
314
        res = self._add_node(node)
315
        self._add_refs(obj)
316
        res[0].StatusCode.check()
317
        return res[0].AddedNodeId
318
319
    def add_method(self, obj):
320
        node = self._get_node(obj)
321
        attrs = ua.MethodAttributes()
322
        if obj.desc:
323
            attrs.Description = ua.LocalizedText(obj.desc)
324
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
325
        if obj.accesslevel:
326
            attrs.AccessLevel = obj.accesslevel
327
        if obj.useraccesslevel:
328
            attrs.UserAccessLevel = obj.useraccesslevel
329
        if obj.minsample:
330
            attrs.MinimumSamplingInterval = obj.minsample
331
        if obj.dimensions:
332
            attrs.ArrayDimensions = obj.dimensions
333
        node.NodeAttributes = attrs
334
        res = self._add_node(node)
335
        self._add_refs(obj)
336
        res[0].StatusCode.check()