Code Duplication    Length = 18-19 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

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