Code Duplication    Length = 65-69 lines in 2 locations

opcua/ua/uaprotocol_auto.py 2 locations

@@ 1504-1572 (lines=69) @@
1501
    __repr__ = __str__
1502
1503
1504
class ResponseHeader(FrozenClass):
1505
    '''
1506
    The header passed with every server response.
1507
1508
    :ivar Timestamp:
1509
    :vartype Timestamp: DateTime
1510
    :ivar RequestHandle:
1511
    :vartype RequestHandle: UInt32
1512
    :ivar ServiceResult:
1513
    :vartype ServiceResult: StatusCode
1514
    :ivar ServiceDiagnostics:
1515
    :vartype ServiceDiagnostics: DiagnosticInfo
1516
    :ivar StringTable:
1517
    :vartype StringTable: String
1518
    :ivar AdditionalHeader:
1519
    :vartype AdditionalHeader: ExtensionObject
1520
    '''
1521
1522
    ua_types = [
1523
1524
        ('Timestamp', 'DateTime'),
1525
        ('RequestHandle', 'UInt32'),
1526
        ('ServiceResult', 'StatusCode'),
1527
        ('ServiceDiagnostics', 'DiagnosticInfo'),
1528
        ('StringTable', 'ListOfString'),
1529
        ('AdditionalHeader', 'ExtensionObject'),
1530
               ]
1531
1532
    def __init__(self):
1533
        self.Timestamp = datetime.utcnow()
1534
        self.RequestHandle = 0
1535
        self.ServiceResult = StatusCode()
1536
        self.ServiceDiagnostics = DiagnosticInfo()
1537
        self.StringTable = []
1538
        self.AdditionalHeader = ExtensionObject()
1539
        self._freeze = True
1540
1541
    def to_binary(self):
1542
        packet = []
1543
        packet.append(uabin.Primitives.DateTime.pack(self.Timestamp))
1544
        packet.append(uabin.Primitives.UInt32.pack(self.RequestHandle))
1545
        packet.append(self.ServiceResult.to_binary())
1546
        packet.append(self.ServiceDiagnostics.to_binary())
1547
        packet.append(uabin.Primitives.Int32.pack(len(self.StringTable)))
1548
        for fieldname in self.StringTable:
1549
            packet.append(uabin.Primitives.String.pack(fieldname))
1550
        packet.append(uabin.extensionobject_to_binary(self.AdditionalHeader))
1551
        return b''.join(packet)
1552
1553
    @staticmethod
1554
    def from_binary(data):
1555
        obj = ResponseHeader()
1556
        self.Timestamp = uabin.Primitives.DateTime.unpack(data)
1557
        self.RequestHandle = uabin.Primitives.UInt32.unpack(data)
1558
        obj.ServiceResult = StatusCode.from_binary(data)
1559
        obj.ServiceDiagnostics = DiagnosticInfo.from_binary(data)
1560
        obj.StringTable = uabin.Primitives.String.unpack_array(data)
1561
        obj.AdditionalHeader = uabin.extensionobject_from_binary(data)
1562
        return obj
1563
1564
    def __str__(self):
1565
        return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \
1566
               'RequestHandle:' + str(self.RequestHandle) + ', ' + \
1567
               'ServiceResult:' + str(self.ServiceResult) + ', ' + \
1568
               'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \
1569
               'StringTable:' + str(self.StringTable) + ', ' + \
1570
               'AdditionalHeader:' + str(self.AdditionalHeader) + ')'
1571
1572
    __repr__ = __str__
1573
1574
1575
class ServiceFault(FrozenClass):
@@ 8898-8962 (lines=65) @@
8895
    __repr__ = __str__
8896
8897
8898
class ReadProcessedDetails(FrozenClass):
8899
    '''
8900
    :ivar StartTime:
8901
    :vartype StartTime: DateTime
8902
    :ivar EndTime:
8903
    :vartype EndTime: DateTime
8904
    :ivar ProcessingInterval:
8905
    :vartype ProcessingInterval: Double
8906
    :ivar AggregateType:
8907
    :vartype AggregateType: NodeId
8908
    :ivar AggregateConfiguration:
8909
    :vartype AggregateConfiguration: AggregateConfiguration
8910
    '''
8911
8912
    ua_types = [
8913
8914
        ('StartTime', 'DateTime'),
8915
        ('EndTime', 'DateTime'),
8916
        ('ProcessingInterval', 'Double'),
8917
        ('AggregateType', 'ListOfNodeId'),
8918
        ('AggregateConfiguration', 'AggregateConfiguration'),
8919
               ]
8920
8921
    def __init__(self):
8922
        self.StartTime = datetime.utcnow()
8923
        self.EndTime = datetime.utcnow()
8924
        self.ProcessingInterval = 0
8925
        self.AggregateType = []
8926
        self.AggregateConfiguration = AggregateConfiguration()
8927
        self._freeze = True
8928
8929
    def to_binary(self):
8930
        packet = []
8931
        packet.append(uabin.Primitives.DateTime.pack(self.StartTime))
8932
        packet.append(uabin.Primitives.DateTime.pack(self.EndTime))
8933
        packet.append(uabin.Primitives.Double.pack(self.ProcessingInterval))
8934
        packet.append(uabin.Primitives.Int32.pack(len(self.AggregateType)))
8935
        for fieldname in self.AggregateType:
8936
            packet.append(fieldname.to_binary())
8937
        packet.append(self.AggregateConfiguration.to_binary())
8938
        return b''.join(packet)
8939
8940
    @staticmethod
8941
    def from_binary(data):
8942
        obj = ReadProcessedDetails()
8943
        self.StartTime = uabin.Primitives.DateTime.unpack(data)
8944
        self.EndTime = uabin.Primitives.DateTime.unpack(data)
8945
        self.ProcessingInterval = uabin.Primitives.Double.unpack(data)
8946
        length = uabin.Primitives.Int32.unpack(data)
8947
        array = []
8948
        if length != -1:
8949
            for _ in range(0, length):
8950
                array.append(NodeId.from_binary(data))
8951
        obj.AggregateType = array
8952
        obj.AggregateConfiguration = AggregateConfiguration.from_binary(data)
8953
        return obj
8954
8955
    def __str__(self):
8956
        return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \
8957
               'EndTime:' + str(self.EndTime) + ', ' + \
8958
               'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \
8959
               'AggregateType:' + str(self.AggregateType) + ', ' + \
8960
               'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')'
8961
8962
    __repr__ = __str__
8963
8964
8965
class ReadAtTimeDetails(FrozenClass):