Code Duplication    Length = 11-12 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 207-218 (lines=12) @@
204
        if obj.useraccesslevel:
205
            attrs.UserAccessLevel = obj.useraccesslevel
206
        if obj.minsample:
207
            attrs.MinimumSamplingInterval = obj.minsample
208
        if obj.dimensions:
209
            attrs.ArrayDimensions = obj.dimensions
210
        node.NodeAttributes = attrs
211
        res = self.server.add_nodes([node])
212
        self._add_refs(obj)
213
        return res[0].AddedNodeId
214
215
    def add_reference(self, obj):
216
        node = self._get_node(obj)
217
        attrs = ua.ReferenceTypeAttributes()
218
        if obj.desc:
219
            attrs.Description = ua.LocalizedText(obj.desc)
220
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
221
        if obj. inversename:
@@ 85-95 (lines=11) @@
82
    def to_nodeid(self, nodeid):
83
        if not nodeid:
84
            return ua.NodeId(ua.ObjectIds.String)
85
        elif "=" in nodeid:
86
            return ua.NodeId.from_string(nodeid)
87
        elif hasattr(ua.ObjectIds, nodeid):
88
            return ua.NodeId(getattr(ua.ObjectIds, nodeid))
89
        else:
90
            if nodeid in self.parser.aliases:
91
                nodeid = self.parser.aliases[nodeid]
92
            else:
93
                nodeid = "i={}".format(getattr(ua.ObjectIds, nodeid))
94
            return ua.NodeId.from_string(nodeid)
95
96
    def add_object(self, obj):
97
        node = self._get_node(obj)
98
        attrs = ua.ObjectAttributes()
@@ 73-83 (lines=11) @@
70
        node = ua.AddNodesItem()
71
        node.RequestedNewNodeId = ua.NodeId.from_string(obj.nodeid)
72
        node.BrowseName = ua.QualifiedName.from_string(obj.browsename)
73
        node.NodeClass = getattr(ua.NodeClass, obj.nodetype[2:])
74
        if obj.parent:
75
            node.ParentNodeId = ua.NodeId.from_string(obj.parent)
76
        if obj.parentlink:
77
            node.ReferenceTypeId = self.to_nodeid(obj.parentlink)
78
        if obj.typedef:
79
            node.TypeDefinition = ua.NodeId.from_string(obj.typedef)
80
        return node
81
82
    def to_nodeid(self, nodeid):
83
        if not nodeid:
84
            return ua.NodeId(ua.ObjectIds.String)
85
        elif "=" in nodeid:
86
            return ua.NodeId.from_string(nodeid)