Code Duplication    Length = 12-13 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 335-347 (lines=13) @@
332
        if obj.desc:
333
            attrs.Description = ua.LocalizedText(obj.desc)
334
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
335
        if obj.accesslevel:
336
            attrs.AccessLevel = obj.accesslevel
337
        if obj.useraccesslevel:
338
            attrs.UserAccessLevel = obj.useraccesslevel
339
        if obj.minsample:
340
            attrs.MinimumSamplingInterval = obj.minsample
341
        if obj.dimensions:
342
            attrs.ArrayDimensions = obj.dimensions
343
        node.NodeAttributes = attrs
344
        res = self._add_node(node)
345
        self._add_refs(obj)
346
        res[0].StatusCode.check()
347
        return res[0].AddedNodeId
348
349
    def add_reference_type(self, obj):
350
        node = self._get_node(obj)
@@ 162-173 (lines=12) @@
159
    def add_object(self, obj):
160
        node = self._get_node(obj)
161
        attrs = ua.ObjectAttributes()
162
        if obj.desc:
163
            attrs.Description = ua.LocalizedText(obj.desc)
164
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
165
        attrs.EventNotifier = obj.eventnotifier
166
        node.NodeAttributes = attrs
167
        res = self._add_node(node)
168
        self._add_refs(obj)
169
        res[0].StatusCode.check()
170
        return res[0].AddedNodeId
171
172
    def add_object_type(self, obj):
173
        node = self._get_node(obj)
174
        attrs = ua.ObjectTypeAttributes()
175
        if obj.desc:
176
            attrs.Description = ua.LocalizedText(obj.desc)
@@ 149-160 (lines=12) @@
146
            return nodeid
147
        elif not nodeid:
148
            return ua.NodeId(ua.ObjectIds.String)
149
        elif "=" in nodeid:
150
            return ua.NodeId.from_string(nodeid)
151
        elif hasattr(ua.ObjectIds, nodeid):
152
            return ua.NodeId(getattr(ua.ObjectIds, nodeid))
153
        else:
154
            if nodeid in self.aliases:
155
                return self.aliases[nodeid]
156
            else:
157
                return ua.NodeId(getattr(ua.ObjectIds, nodeid))
158
159
    def add_object(self, obj):
160
        node = self._get_node(obj)
161
        attrs = ua.ObjectAttributes()
162
        if obj.desc:
163
            attrs.Description = ua.LocalizedText(obj.desc)