Code Duplication    Length = 17-19 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 297-315 (lines=19) @@
294
        return res[0].AddedNodeId
295
296
    def add_method(self, obj):
297
        node = self._get_node(obj)
298
        attrs = ua.MethodAttributes()
299
        if obj.desc:
300
            attrs.Description = ua.LocalizedText(obj.desc)
301
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
302
        if obj.accesslevel:
303
            attrs.AccessLevel = obj.accesslevel
304
        if obj.useraccesslevel:
305
            attrs.UserAccessLevel = obj.useraccesslevel
306
        if obj.minsample:
307
            attrs.MinimumSamplingInterval = obj.minsample
308
        if obj.dimensions:
309
            attrs.ArrayDimensions = obj.dimensions
310
        node.NodeAttributes = attrs
311
        res = self._add_node(node)
312
        self._add_refs(obj)
313
        res[0].StatusCode.check()
314
        return res[0].AddedNodeId
315
316
    def add_reference_type(self, obj):
317
        node = self._get_node(obj)
318
        attrs = ua.ReferenceTypeAttributes()
@@ 317-333 (lines=17) @@
314
        return res[0].AddedNodeId
315
316
    def add_reference_type(self, obj):
317
        node = self._get_node(obj)
318
        attrs = ua.ReferenceTypeAttributes()
319
        if obj.desc:
320
            attrs.Description = ua.LocalizedText(obj.desc)
321
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
322
        if obj. inversename:
323
            attrs.InverseName = ua.LocalizedText(obj.inversename)
324
        if obj.abstract:
325
            attrs.IsAbstract = obj.abstract
326
        if obj.symmetric:
327
            attrs.Symmetric = obj.symmetric
328
        node.NodeAttributes = attrs
329
        res = self._add_node(node)
330
        self._add_refs(obj)
331
        res[0].StatusCode.check()
332
        return res[0].AddedNodeId
333
334
    def add_datatype(self, obj):
335
        node = self._get_node(obj)
336
        attrs = ua.DataTypeAttributes()