Code Duplication    Length = 18-19 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 152-170 (lines=19) @@
149
        return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype))
150
151
152
    def add_variable_type(self, obj):
153
        node = self._get_node(obj)
154
        attrs = ua.VariableTypeAttributes()
155
        if obj.desc:
156
            attrs.Description = ua.LocalizedText(obj.desc)
157
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
158
        attrs.DataType = self.to_nodeid(obj.datatype)
159
        if obj.value and len(obj.value) == 1:
160
            attrs.Value = obj.value[0]
161
        if obj.rank:
162
            attrs.ValueRank = obj.rank
163
        if obj.abstract:
164
            attrs.IsAbstract = obj.abstract
165
        if obj.dimensions:
166
            attrs.ArrayDimensions = obj.dimensions
167
        node.NodeAttributes = attrs
168
        res = self.server.add_nodes([node])
169
        self._add_refs(obj)
170
        return res[0].AddedNodeId
171
172
    def add_method(self, obj):
173
        node = self._get_node(obj)
@@ 172-189 (lines=18) @@
169
        self._add_refs(obj)
170
        return res[0].AddedNodeId
171
172
    def add_method(self, obj):
173
        node = self._get_node(obj)
174
        attrs = ua.MethodAttributes()
175
        if obj.desc:
176
            attrs.Description = ua.LocalizedText(obj.desc)
177
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
178
        if obj.accesslevel:
179
            attrs.AccessLevel = obj.accesslevel
180
        if obj.useraccesslevel:
181
            attrs.UserAccessLevel = obj.useraccesslevel
182
        if obj.minsample:
183
            attrs.MinimumSamplingInterval = obj.minsample
184
        if obj.dimensions:
185
            attrs.ArrayDimensions = obj.dimensions
186
        node.NodeAttributes = attrs
187
        res = self.server.add_nodes([node])
188
        self._add_refs(obj)
189
        return res[0].AddedNodeId
190
191
    def add_reference(self, obj):
192
        node = self._get_node(obj)