Code Duplication    Length = 12-13 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 313-325 (lines=13) @@
310
        res = self.server.iserver.isession.add_nodes([node])
311
        self._add_refs(obj)
312
        res[0].StatusCode.check()
313
        return res[0].AddedNodeId
314
315
    def add_datatype(self, obj):
316
        node = self._get_node(obj)
317
        attrs = ua.DataTypeAttributes()
318
        if obj.desc:
319
            attrs.Description = ua.LocalizedText(obj.desc)
320
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
321
        if obj.abstract:
322
            attrs.IsAbstract = obj.abstract
323
        node.NodeAttributes = attrs
324
        res = self.server.iserver.isession.add_nodes([node])
325
        self._add_refs(obj)
326
        res[0].StatusCode.check()
327
        return res[0].AddedNodeId
328
@@ 159-170 (lines=12) @@
156
        res = self.server.iserver.isession.add_nodes([node])
157
        self._add_refs(obj)
158
        res[0].StatusCode.check()
159
        return res[0].AddedNodeId
160
161
    def add_object_type(self, obj):
162
        node = self._get_node(obj)
163
        attrs = ua.ObjectTypeAttributes()
164
        if obj.desc:
165
            attrs.Description = ua.LocalizedText(obj.desc)
166
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
167
        attrs.IsAbstract = obj.abstract
168
        node.NodeAttributes = attrs
169
        res = self.server.iserver.isession.add_nodes([node])
170
        self._add_refs(obj)
171
        res[0].StatusCode.check()
172
        return res[0].AddedNodeId
173
@@ 146-157 (lines=12) @@
143
            if nodeid in self.aliases:
144
                return self.aliases[nodeid]
145
            else:
146
                return ua.NodeId(getattr(ua.ObjectIds, nodeid))
147
148
    def add_object(self, obj):
149
        node = self._get_node(obj)
150
        attrs = ua.ObjectAttributes()
151
        if obj.desc:
152
            attrs.Description = ua.LocalizedText(obj.desc)
153
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
154
        attrs.EventNotifier = obj.eventnotifier
155
        node.NodeAttributes = attrs
156
        res = self.server.iserver.isession.add_nodes([node])
157
        self._add_refs(obj)
158
        res[0].StatusCode.check()
159
        return res[0].AddedNodeId
160