Code Duplication    Length = 17-18 lines in 2 locations

opcua/common/xmlimporter.py 2 locations

@@ 113-130 (lines=18) @@
110
        self.server.add_nodes([node])
111
        self._add_refs(obj)
112
113
    def add_variable_type(self, obj):
114
        node = self._get_node(obj)
115
        attrs = ua.VariableTypeAttributes()
116
        if obj.desc:
117
            attrs.Description = ua.LocalizedText(obj.desc)
118
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
119
        attrs.DataType = self.to_nodeid(obj.datatype)
120
        if obj.value and len(obj.value) == 1:
121
            attrs.Value = obj.value[0]
122
        if obj.rank:
123
            attrs.ValueRank = obj.rank
124
        if obj.abstract:
125
            attrs.IsAbstract = obj.abstract
126
        if obj.dimensions:
127
            attrs.ArrayDimensions = obj.dimensions
128
        node.NodeAttributes = attrs
129
        self.server.add_nodes([node])
130
        self._add_refs(obj)
131
132
    def add_method(self, obj):
133
        node = self._get_node(obj)
@@ 132-148 (lines=17) @@
129
        self.server.add_nodes([node])
130
        self._add_refs(obj)
131
132
    def add_method(self, obj):
133
        node = self._get_node(obj)
134
        attrs = ua.MethodAttributes()
135
        if obj.desc:
136
            attrs.Description = ua.LocalizedText(obj.desc)
137
        attrs.DisplayName = ua.LocalizedText(obj.displayname)
138
        if obj.accesslevel:
139
            attrs.AccessLevel = obj.accesslevel
140
        if obj.useraccesslevel:
141
            attrs.UserAccessLevel = obj.useraccesslevel
142
        if obj.minsample:
143
            attrs.MinimumSamplingInterval = obj.minsample
144
        if obj.dimensions:
145
            attrs.ArrayDimensions = obj.dimensions
146
        node.NodeAttributes = attrs
147
        self.server.add_nodes([node])
148
        self._add_refs(obj)
149
150
    def add_reference(self, obj):
151
        node = self._get_node(obj)