Code Duplication    Length = 18-19 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 277-295 (lines=19) @@
274
        else:
275
            return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype))
276
277
    def add_variable_type(self, obj):
278
        node = self._get_node(obj)
279
        attrs = ua.VariableTypeAttributes()
280
        if obj.desc:
281
            attrs.Description = ua.LocalizedText(obj.desc)
282
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
283
        attrs.DataType = self.to_nodeid(obj.datatype)
284
        if obj.value and len(obj.value) == 1:
285
            attrs.Value = obj.value[0]
286
        if obj.rank:
287
            attrs.ValueRank = obj.rank
288
        if obj.abstract:
289
            attrs.IsAbstract = obj.abstract
290
        if obj.dimensions:
291
            attrs.ArrayDimensions = obj.dimensions
292
        node.NodeAttributes = attrs
293
        res = self.server.add_nodes([node])
294
        self._add_refs(obj)
295
        return res[0].AddedNodeId
296
297
    def add_method(self, obj):
298
        node = self._get_node(obj)
@@ 297-314 (lines=18) @@
294
        self._add_refs(obj)
295
        return res[0].AddedNodeId
296
297
    def add_method(self, obj):
298
        node = self._get_node(obj)
299
        attrs = ua.MethodAttributes()
300
        if obj.desc:
301
            attrs.Description = ua.LocalizedText(obj.desc)
302
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
303
        if obj.accesslevel:
304
            attrs.AccessLevel = obj.accesslevel
305
        if obj.useraccesslevel:
306
            attrs.UserAccessLevel = obj.useraccesslevel
307
        if obj.minsample:
308
            attrs.MinimumSamplingInterval = obj.minsample
309
        if obj.dimensions:
310
            attrs.ArrayDimensions = obj.dimensions
311
        node.NodeAttributes = attrs
312
        res = self.server.add_nodes([node])
313
        self._add_refs(obj)
314
        return res[0].AddedNodeId
315
316
    def add_reference_type(self, obj):
317
        node = self._get_node(obj)