Code Duplication    Length = 17-19 lines in 2 locations

opcua/common/manage_nodes.py 2 locations

@@ 281-299 (lines=19) @@
278
    return results[0].AddedNodeId
279
280
281
def _create_data_type(server, parentnodeid, nodeid, qname):
282
    addnode = ua.AddNodesItem()
283
    addnode.RequestedNewNodeId = nodeid
284
    addnode.BrowseName = qname
285
    addnode.NodeClass = ua.NodeClass.DataType
286
    addnode.ParentNodeId = parentnodeid
287
    addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubType)
288
    #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # Not type definition for types
289
    attrs = ua.DataTypeAttributes()
290
    attrs.Description = ua.LocalizedText(qname.Name)
291
    attrs.DisplayName = ua.LocalizedText(qname.Name)
292
    attrs.WriteMask = 0
293
    attrs.UserWriteMask = 0
294
    attrs.Historizing = 0
295
    attrs.IsAbstract = False  # True mean they cannot be instanciated
296
    addnode.NodeAttributes = attrs
297
    results = server.add_nodes([addnode])
298
    results[0].StatusCode.check()
299
    return results[0].AddedNodeId
300
301
302
def _create_method(parent, nodeid, qname, callback, inputs, outputs):
@@ 182-198 (lines=17) @@
179
    return results[0].AddedNodeId
180
181
182
def _create_object_type(server, parentnodeid, nodeid, qname):
183
    addnode = ua.AddNodesItem()
184
    addnode.RequestedNewNodeId = nodeid
185
    addnode.BrowseName = qname
186
    addnode.ParentNodeId = parentnodeid
187
    addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype)
188
    addnode.NodeClass = ua.NodeClass.ObjectType
189
    attrs = ua.ObjectTypeAttributes()
190
    attrs.IsAbstract = False
191
    attrs.Description = ua.LocalizedText(qname.Name)
192
    attrs.DisplayName = ua.LocalizedText(qname.Name)
193
    attrs.WriteMask = 0
194
    attrs.UserWriteMask = 0
195
    addnode.NodeAttributes = attrs
196
    results = server.add_nodes([addnode])
197
    results[0].StatusCode.check()
198
    return results[0].AddedNodeId
199
200
201
def _to_variant(val, vtype=None):