Code Duplication    Length = 11-12 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 207-218 (lines=12) @@
204
        if obj.value is not None:
205
            attrs.Value = self._add_variable_value(obj,)
206
        if obj.rank:
207
            attrs.ValueRank = obj.rank
208
        if obj.accesslevel:
209
            attrs.AccessLevel = obj.accesslevel
210
        if obj.useraccesslevel:
211
            attrs.UserAccessLevel = obj.useraccesslevel
212
        if obj.minsample:
213
            attrs.MinimumSamplingInterval = obj.minsample
214
        if obj.dimensions:
215
            attrs.ArrayDimensions = obj.dimensions
216
        node.NodeAttributes = attrs
217
        res = self.server.add_nodes([node])
218
        self._add_refs(obj)
219
        return res[0].AddedNodeId
220
221
    def _make_ext_obj(sefl, obj):
@@ 85-95 (lines=11) @@
82
        for nodedata in nodes_parsed:  # self.parser:
83
            if nodedata.nodetype == 'UAObject':
84
                node = self.add_object(nodedata)
85
            elif nodedata.nodetype == 'UAObjectType':
86
                node = self.add_object_type(nodedata)
87
            elif nodedata.nodetype == 'UAVariable':
88
                node = self.add_variable(nodedata)
89
            elif nodedata.nodetype == 'UAVariableType':
90
                node = self.add_variable_type(nodedata)
91
            elif nodedata.nodetype == 'UAReferenceType':
92
                node = self.add_reference_type(nodedata)
93
            elif nodedata.nodetype == 'UADataType':
94
                node = self.add_datatype(nodedata)
95
            elif nodedata.nodetype == 'UAMethod':
96
                node = self.add_method(nodedata)
97
            else:
98
                self.logger.warning("Not implemented node type: %s ", nodedata.nodetype)
@@ 73-83 (lines=11) @@
70
        self.logger.info("Importing XML file %s", xmlpath)
71
        self.parser = xmlparser.XMLParser(xmlpath, act_server)
72
73
        self.namespaces = self._map_namespaces(self.parser.get_used_namespaces(), act_server)
74
        self.aliases = self._map_aliases(self.parser.get_aliases())
75
76
        # The ordering of nodes currently only works if namespaces are
77
        # defined in XML.
78
        # Also, it is recommended not to use node ids without namespace prefix!
79
        nodes_parsed = self._sort_nodes_by_parentid(self.parser)
80
81
        nodes = []
82
        for nodedata in nodes_parsed:  # self.parser:
83
            if nodedata.nodetype == 'UAObject':
84
                node = self.add_object(nodedata)
85
            elif nodedata.nodetype == 'UAObjectType':
86
                node = self.add_object_type(nodedata)