Code Duplication    Length = 12-13 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 321-333 (lines=13) @@
318
            attrs.IsAbstract = obj.abstract
319
        if obj.symmetric:
320
            attrs.Symmetric = obj.symmetric
321
        node.NodeAttributes = attrs
322
        res = self.server.iserver.isession.add_nodes([node])
323
        self._add_refs(obj)
324
        res[0].StatusCode.check()
325
        return res[0].AddedNodeId
326
327
    def add_datatype(self, obj):
328
        node = self._get_node(obj)
329
        attrs = ua.DataTypeAttributes()
330
        if obj.desc:
331
            attrs.Description = ua.LocalizedText(obj.desc)
332
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
333
        if obj.abstract:
334
            attrs.IsAbstract = obj.abstract
335
        node.NodeAttributes = attrs
336
        res = self.server.iserver.isession.add_nodes([node])
@@ 150-161 (lines=12) @@
147
        res[0].StatusCode.check()
148
        return res[0].AddedNodeId
149
150
    def add_object_type(self, obj):
151
        node = self._get_node(obj)
152
        attrs = ua.ObjectTypeAttributes()
153
        if obj.desc:
154
            attrs.Description = ua.LocalizedText(obj.desc)
155
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
156
        attrs.IsAbstract = obj.abstract
157
        node.NodeAttributes = attrs
158
        res = self.server.iserver.isession.add_nodes([node])
159
        self._add_refs(obj)
160
        res[0].StatusCode.check()
161
        return res[0].AddedNodeId
162
163
    def add_variable(self, obj):
164
        node = self._get_node(obj)
@@ 137-148 (lines=12) @@
134
            else:
135
                return ua.NodeId(getattr(ua.ObjectIds, nodeid))
136
137
    def add_object(self, obj):
138
        node = self._get_node(obj)
139
        attrs = ua.ObjectAttributes()
140
        if obj.desc:
141
            attrs.Description = ua.LocalizedText(obj.desc)
142
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
143
        attrs.EventNotifier = obj.eventnotifier
144
        node.NodeAttributes = attrs
145
        res = self.server.iserver.isession.add_nodes([node])
146
        self._add_refs(obj)
147
        res[0].StatusCode.check()
148
        return res[0].AddedNodeId
149
150
    def add_object_type(self, obj):
151
        node = self._get_node(obj)