Code Duplication    Length = 12-13 lines in 5 locations

opcua/ua/uaprotocol_auto.py 5 locations

@@ 7280-7292 (lines=13) @@
7277
            packet.append(fieldname.to_binary())
7278
        return b''.join(packet)
7279
7280
    @staticmethod
7281
    def from_binary(data):
7282
        obj = NodeReference()
7283
        obj.NodeId = NodeId.from_binary(data)
7284
        obj.ReferenceTypeId = NodeId.from_binary(data)
7285
        self.IsForward = uabin.Primitives.Boolean.unpack(data)
7286
        length = uabin.Primitives.Int32.unpack(data)
7287
        array = []
7288
        if length != -1:
7289
            for _ in range(0, length):
7290
                array.append(NodeId.from_binary(data))
7291
        obj.ReferencedNodeIds = array
7292
        return obj
7293
7294
    def __str__(self):
7295
        return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \
@@ 9357-9368 (lines=12) @@
9354
            packet.append(fieldname.to_binary())
9355
        return b''.join(packet)
9356
9357
    @staticmethod
9358
    def from_binary(data):
9359
        obj = UpdateStructureDataDetails()
9360
        obj.NodeId = NodeId.from_binary(data)
9361
        self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data))
9362
        length = uabin.Primitives.Int32.unpack(data)
9363
        array = []
9364
        if length != -1:
9365
            for _ in range(0, length):
9366
                array.append(DataValue.from_binary(data))
9367
        obj.UpdateValues = array
9368
        return obj
9369
9370
    def __str__(self):
9371
        return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \
@@ 9305-9316 (lines=12) @@
9302
            packet.append(fieldname.to_binary())
9303
        return b''.join(packet)
9304
9305
    @staticmethod
9306
    def from_binary(data):
9307
        obj = UpdateDataDetails()
9308
        obj.NodeId = NodeId.from_binary(data)
9309
        self.PerformInsertReplace = PerformUpdateType(uabin.Primitives.UInt32.unpack(data))
9310
        length = uabin.Primitives.Int32.unpack(data)
9311
        array = []
9312
        if length != -1:
9313
            for _ in range(0, length):
9314
                array.append(DataValue.from_binary(data))
9315
        obj.UpdateValues = array
9316
        return obj
9317
9318
    def __str__(self):
9319
        return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \
@@ 7223-7234 (lines=12) @@
7220
            packet.append(fieldname.to_binary())
7221
        return b''.join(packet)
7222
7223
    @staticmethod
7224
    def from_binary(data):
7225
        obj = QueryDataSet()
7226
        obj.NodeId = ExpandedNodeId.from_binary(data)
7227
        obj.TypeDefinitionNode = ExpandedNodeId.from_binary(data)
7228
        length = uabin.Primitives.Int32.unpack(data)
7229
        array = []
7230
        if length != -1:
7231
            for _ in range(0, length):
7232
                array.append(Variant.from_binary(data))
7233
        obj.Values = array
7234
        return obj
7235
7236
    def __str__(self):
7237
        return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \
@@ 7171-7182 (lines=12) @@
7168
            packet.append(fieldname.to_binary())
7169
        return b''.join(packet)
7170
7171
    @staticmethod
7172
    def from_binary(data):
7173
        obj = NodeTypeDescription()
7174
        obj.TypeDefinitionNode = ExpandedNodeId.from_binary(data)
7175
        self.IncludeSubTypes = uabin.Primitives.Boolean.unpack(data)
7176
        length = uabin.Primitives.Int32.unpack(data)
7177
        array = []
7178
        if length != -1:
7179
            for _ in range(0, length):
7180
                array.append(QueryDataDescription.from_binary(data))
7181
        obj.DataToReturn = array
7182
        return obj
7183
7184
    def __str__(self):
7185
        return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \