Code Duplication    Length = 19-20 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 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)