Code Duplication    Length = 78-78 lines in 2 locations

opcua/ua/uaprotocol_auto.py 2 locations

@@ 6079-6156 (lines=78) @@
6076
        ('ReferencesToDelete', 'ListOfDeleteReferencesItem'),
6077
               )
6078
6079
    def __init__(self, binary=None):
6080
        if binary is not None:
6081
            self._binary_init(binary)
6082
            self._freeze = True
6083
            return
6084
        self.ReferencesToDelete = []
6085
        self._freeze = True
6086
6087
    def to_binary(self):
6088
        packet = []
6089
        packet.append(uabin.Primitives.Int32.pack(len(self.ReferencesToDelete)))
6090
        for fieldname in self.ReferencesToDelete:
6091
            packet.append(fieldname.to_binary())
6092
        return b''.join(packet)
6093
6094
    @staticmethod
6095
    def from_binary(data):
6096
        return DeleteReferencesParameters(data)
6097
6098
    def _binary_init(self, data):
6099
        length = uabin.Primitives.Int32.unpack(data)
6100
        array = []
6101
        if length != -1:
6102
            for _ in range(0, length):
6103
                array.append(DeleteReferencesItem.from_binary(data))
6104
        self.ReferencesToDelete = array
6105
6106
    def __str__(self):
6107
        return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')'
6108
6109
    __repr__ = __str__
6110
6111
6112
class DeleteReferencesRequest(FrozenClass):
6113
    '''
6114
    Delete one or more references from the server address space.
6115
6116
    :ivar TypeId:
6117
    :vartype TypeId: NodeId
6118
    :ivar RequestHeader:
6119
    :vartype RequestHeader: RequestHeader
6120
    :ivar Parameters:
6121
    :vartype Parameters: DeleteReferencesParameters
6122
    '''
6123
6124
    ua_types = (
6125
6126
        ('TypeId', 'NodeId'),
6127
        ('RequestHeader', 'RequestHeader'),
6128
        ('Parameters', 'DeleteReferencesParameters'),
6129
               )
6130
6131
    def __init__(self, binary=None):
6132
        if binary is not None:
6133
            self._binary_init(binary)
6134
            self._freeze = True
6135
            return
6136
        self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary)
6137
        self.RequestHeader = RequestHeader()
6138
        self.Parameters = DeleteReferencesParameters()
6139
        self._freeze = True
6140
6141
    def to_binary(self):
6142
        packet = []
6143
        packet.append(self.TypeId.to_binary())
6144
        packet.append(self.RequestHeader.to_binary())
6145
        packet.append(self.Parameters.to_binary())
6146
        return b''.join(packet)
6147
6148
    @staticmethod
6149
    def from_binary(data):
6150
        return DeleteReferencesRequest(data)
6151
6152
    def _binary_init(self, data):
6153
        self.TypeId = NodeId.from_binary(data)
6154
        self.RequestHeader = RequestHeader.from_binary(data)
6155
        self.Parameters = DeleteReferencesParameters.from_binary(data)
6156
6157
    def __str__(self):
6158
        return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
6159
               'RequestHeader:' + str(self.RequestHeader) + ', ' + \
@@ 4937-5014 (lines=78) @@
4934
    def __init__(self, binary=None):
4935
        if binary is not None:
4936
            self._binary_init(binary)
4937
            self._freeze = True
4938
            return
4939
        self.SpecifiedAttributes = 0
4940
        self.DisplayName = LocalizedText()
4941
        self.Description = LocalizedText()
4942
        self.WriteMask = 0
4943
        self.UserWriteMask = 0
4944
        self.Value = Variant()
4945
        self.DataType = NodeId()
4946
        self.ValueRank = 0
4947
        self.ArrayDimensions = []
4948
        self.IsAbstract = True
4949
        self._freeze = True
4950
4951
    def to_binary(self):
4952
        packet = []
4953
        packet.append(uabin.Primitives.UInt32.pack(self.SpecifiedAttributes))
4954
        packet.append(self.DisplayName.to_binary())
4955
        packet.append(self.Description.to_binary())
4956
        packet.append(uabin.Primitives.UInt32.pack(self.WriteMask))
4957
        packet.append(uabin.Primitives.UInt32.pack(self.UserWriteMask))
4958
        packet.append(self.Value.to_binary())
4959
        packet.append(self.DataType.to_binary())
4960
        packet.append(uabin.Primitives.Int32.pack(self.ValueRank))
4961
        packet.append(uabin.Primitives.Int32.pack(len(self.ArrayDimensions)))
4962
        for fieldname in self.ArrayDimensions:
4963
            packet.append(uabin.Primitives.UInt32.pack(fieldname))
4964
        packet.append(uabin.Primitives.Boolean.pack(self.IsAbstract))
4965
        return b''.join(packet)
4966
4967
    @staticmethod
4968
    def from_binary(data):
4969
        return VariableTypeAttributes(data)
4970
4971
    def _binary_init(self, data):
4972
        self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data)
4973
        self.DisplayName = LocalizedText.from_binary(data)
4974
        self.Description = LocalizedText.from_binary(data)
4975
        self.WriteMask = uabin.Primitives.UInt32.unpack(data)
4976
        self.UserWriteMask = uabin.Primitives.UInt32.unpack(data)
4977
        self.Value = Variant.from_binary(data)
4978
        self.DataType = NodeId.from_binary(data)
4979
        self.ValueRank = uabin.Primitives.Int32.unpack(data)
4980
        self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data)
4981
        self.IsAbstract = uabin.Primitives.Boolean.unpack(data)
4982
4983
    def __str__(self):
4984
        return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \
4985
               'DisplayName:' + str(self.DisplayName) + ', ' + \
4986
               'Description:' + str(self.Description) + ', ' + \
4987
               'WriteMask:' + str(self.WriteMask) + ', ' + \
4988
               'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \
4989
               'Value:' + str(self.Value) + ', ' + \
4990
               'DataType:' + str(self.DataType) + ', ' + \
4991
               'ValueRank:' + str(self.ValueRank) + ', ' + \
4992
               'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \
4993
               'IsAbstract:' + str(self.IsAbstract) + ')'
4994
4995
    __repr__ = __str__
4996
4997
4998
class ReferenceTypeAttributes(FrozenClass):
4999
    '''
5000
    The attributes for a reference type node.
5001
5002
    :ivar SpecifiedAttributes:
5003
    :vartype SpecifiedAttributes: UInt32
5004
    :ivar DisplayName:
5005
    :vartype DisplayName: LocalizedText
5006
    :ivar Description:
5007
    :vartype Description: LocalizedText
5008
    :ivar WriteMask:
5009
    :vartype WriteMask: UInt32
5010
    :ivar UserWriteMask:
5011
    :vartype UserWriteMask: UInt32
5012
    :ivar IsAbstract:
5013
    :vartype IsAbstract: Boolean
5014
    :ivar Symmetric:
5015
    :vartype Symmetric: Boolean
5016
    :ivar InverseName:
5017
    :vartype InverseName: LocalizedText