Code Duplication    Length = 11-12 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 316-327 (lines=12) @@
313
        self._add_refs(obj)
314
        return res[0].AddedNodeId
315
316
    def add_datatype(self, obj):
317
        node = self._get_node(obj)
318
        attrs = ua.DataTypeAttributes()
319
        if obj.desc:
320
            attrs.Description = ua.LocalizedText(obj.desc)
321
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
322
        if obj.abstract:
323
            attrs.IsAbstract = obj.abstract
324
        node.NodeAttributes = attrs
325
        res = self.server.iserver.isession.add_nodes([node])
326
        self._add_refs(obj)
327
        return res[0].AddedNodeId
328
329
    def _add_refs(self, obj):
330
        if not obj.refs:
@@ 171-181 (lines=11) @@
168
        self._add_refs(obj)
169
        return res[0].AddedNodeId
170
171
    def add_object_type(self, obj):
172
        node = self._get_node(obj)
173
        attrs = ua.ObjectTypeAttributes()
174
        if obj.desc:
175
            attrs.Description = ua.LocalizedText(obj.desc)
176
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
177
        attrs.IsAbstract = obj.abstract
178
        node.NodeAttributes = attrs
179
        res = self.server.iserver.isession.add_nodes([node])
180
        self._add_refs(obj)
181
        return res[0].AddedNodeId
182
183
    def add_variable(self, obj):
184
        node = self._get_node(obj)
@@ 159-169 (lines=11) @@
156
                nodeid = "i={}".format(getattr(ua.ObjectIds, nodeid))
157
            return ua.NodeId.from_string(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)
164
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
165
        attrs.EventNotifier = obj.eventnotifier
166
        node.NodeAttributes = attrs
167
        res = self.server.iserver.isession.add_nodes([node])
168
        self._add_refs(obj)
169
        return res[0].AddedNodeId
170
171
    def add_object_type(self, obj):
172
        node = self._get_node(obj)