Code Duplication    Length = 11-12 lines in 3 locations

opcua/common/xmlimporter.py 3 locations

@@ 207-218 (lines=12) @@
204
            attrs.Description = ua.LocalizedText(obj.desc)
205
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
206
        attrs.DataType = self.to_nodeid(obj.datatype)
207
        # if obj.value and len(obj.value) == 1:
208
        if obj.value is not None:
209
            attrs.Value = self._add_variable_value(obj,)
210
        if obj.rank:
211
            attrs.ValueRank = obj.rank
212
        if obj.accesslevel:
213
            attrs.AccessLevel = obj.accesslevel
214
        if obj.useraccesslevel:
215
            attrs.UserAccessLevel = obj.useraccesslevel
216
        if obj.minsample:
217
            attrs.MinimumSamplingInterval = obj.minsample
218
        if obj.dimensions:
219
            attrs.ArrayDimensions = obj.dimensions
220
        node.NodeAttributes = attrs
221
        res = self.server.add_nodes([node])
@@ 85-95 (lines=11) @@
82
        # nodes_parsed = self._sort_nodes_by_parentid(self.parser)
83
84
        nodes = []
85
        for nodedata in nodes_parsed:  # self.parser:
86
            print(nodedata.nodeid)
87
            if nodedata.nodetype == 'UAObject':
88
                node = self.add_object(nodedata)
89
            elif nodedata.nodetype == 'UAObjectType':
90
                node = self.add_object_type(nodedata)
91
            elif nodedata.nodetype == 'UAVariable':
92
                node = self.add_variable(nodedata)
93
            elif nodedata.nodetype == 'UAVariableType':
94
                node = self.add_variable_type(nodedata)
95
            elif nodedata.nodetype == 'UAReferenceType':
96
                node = self.add_reference_type(nodedata)
97
            elif nodedata.nodetype == 'UADataType':
98
                node = self.add_datatype(nodedata)
@@ 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
80
        # FIX: _sort_nodes_by_parentid is broken needs fix before enabling
81
        nodes_parsed = list(self.parser)
82
        # nodes_parsed = self._sort_nodes_by_parentid(self.parser)
83
84
        nodes = []
85
        for nodedata in nodes_parsed:  # self.parser:
86
            print(nodedata.nodeid)