Code Duplication    Length = 11-12 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 207-218 (lines=12) @@
204
        node.NodeAttributes = attrs
205
        res = self.server.add_nodes([node])
206
        self._add_refs(obj)
207
        return res[0].AddedNodeId
208
209
    def add_datatype(self, obj):
210
        node = self._get_node(obj)
211
        attrs = ua.DataTypeAttributes()
212
        if obj.desc:
213
            attrs.Description = ua.LocalizedText(obj.desc)
214
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
215
        if obj.abstract:
216
            attrs.IsAbstract = obj.abstract
217
        node.NodeAttributes = attrs
218
        res = self.server.add_nodes([node])
219
        self._add_refs(obj)
220
        return res[0].AddedNodeId
221
@@ 85-95 (lines=11) @@
82
        res = self.server.add_nodes([node])
83
        self._add_refs(obj)
84
        return res[0].AddedNodeId
85
86
    def add_object_type(self, obj):
87
        node = self._get_node(obj)
88
        attrs = ua.ObjectTypeAttributes()
89
        if obj.desc:
90
            attrs.Description = ua.LocalizedText(obj.desc)
91
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
92
        attrs.IsAbstract = obj.abstract
93
        node.NodeAttributes = attrs
94
        res = self.server.add_nodes([node])
95
        self._add_refs(obj)
96
        return res[0].AddedNodeId
97
98
    def add_variable(self, obj):
@@ 73-83 (lines=11) @@
70
            else:
71
                nodeid = "i={}".format(getattr(ua.ObjectIds, nodeid))
72
            return ua.NodeId.from_string(nodeid)
73
74
    def add_object(self, obj):
75
        node = self._get_node(obj)
76
        attrs = ua.ObjectAttributes()
77
        if obj.desc:
78
            attrs.Description = ua.LocalizedText(obj.desc)
79
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
80
        attrs.EventNotifier = obj.eventnotifier
81
        node.NodeAttributes = attrs
82
        res = self.server.add_nodes([node])
83
        self._add_refs(obj)
84
        return res[0].AddedNodeId
85
86
    def add_object_type(self, obj):