Code Duplication    Length = 62-64 lines in 3 locations

opcua/ua/uaprotocol_auto.py 3 locations

@@ 5684-5747 (lines=64) @@
5681
        self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary)
5682
        self.RequestHeader = RequestHeader()
5683
        self.Parameters = AddReferencesParameters()
5684
        self._freeze = True
5685
5686
    def to_binary(self):
5687
        packet = []
5688
        packet.append(self.TypeId.to_binary())
5689
        packet.append(self.RequestHeader.to_binary())
5690
        packet.append(self.Parameters.to_binary())
5691
        return b''.join(packet)
5692
5693
    @staticmethod
5694
    def from_binary(data):
5695
        return AddReferencesRequest(data)
5696
5697
    def _binary_init(self, data):
5698
        self.TypeId = NodeId.from_binary(data)
5699
        self.RequestHeader = RequestHeader.from_binary(data)
5700
        self.Parameters = AddReferencesParameters.from_binary(data)
5701
5702
    def __str__(self):
5703
        return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
5704
               'RequestHeader:' + str(self.RequestHeader) + ', ' + \
5705
               'Parameters:' + str(self.Parameters) + ')'
5706
5707
    __repr__ = __str__
5708
5709
5710
class AddReferencesResponse(FrozenClass):
5711
    '''
5712
    Adds one or more references to the server address space.
5713
5714
    :ivar TypeId:
5715
    :vartype TypeId: NodeId
5716
    :ivar ResponseHeader:
5717
    :vartype ResponseHeader: ResponseHeader
5718
    :ivar Results:
5719
    :vartype Results: StatusCode
5720
    :ivar DiagnosticInfos:
5721
    :vartype DiagnosticInfos: DiagnosticInfo
5722
    '''
5723
5724
    ua_types = (
5725
5726
        ('TypeId', 'NodeId'),
5727
        ('ResponseHeader', 'ResponseHeader'),
5728
        ('Results', 'ListOfStatusCode'),
5729
        ('DiagnosticInfos', 'ListOfDiagnosticInfo'),
5730
               )
5731
5732
    def __init__(self, binary=None):
5733
        if binary is not None:
5734
            self._binary_init(binary)
5735
            self._freeze = True
5736
            return
5737
        self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary)
5738
        self.ResponseHeader = ResponseHeader()
5739
        self.Results = []
5740
        self.DiagnosticInfos = []
5741
        self._freeze = True
5742
5743
    def to_binary(self):
5744
        packet = []
5745
        packet.append(self.TypeId.to_binary())
5746
        packet.append(self.ResponseHeader.to_binary())
5747
        packet.append(uabin.Primitives.Int32.pack(len(self.Results)))
5748
        for fieldname in self.Results:
5749
            packet.append(fieldname.to_binary())
5750
        packet.append(uabin.Primitives.Int32.pack(len(self.DiagnosticInfos)))
@@ 4178-4241 (lines=64) @@
4175
        return b''.join(packet)
4176
4177
    @staticmethod
4178
    def from_binary(data):
4179
        return ActivateSessionResponse(data)
4180
4181
    def _binary_init(self, data):
4182
        self.TypeId = NodeId.from_binary(data)
4183
        self.ResponseHeader = ResponseHeader.from_binary(data)
4184
        self.Parameters = ActivateSessionResult.from_binary(data)
4185
4186
    def __str__(self):
4187
        return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \
4188
               'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \
4189
               'Parameters:' + str(self.Parameters) + ')'
4190
4191
    __repr__ = __str__
4192
4193
4194
class CloseSessionRequest(FrozenClass):
4195
    '''
4196
    Closes a session with the server.
4197
4198
    :ivar TypeId:
4199
    :vartype TypeId: NodeId
4200
    :ivar RequestHeader:
4201
    :vartype RequestHeader: RequestHeader
4202
    :ivar DeleteSubscriptions:
4203
    :vartype DeleteSubscriptions: Boolean
4204
    '''
4205
4206
    ua_types = (
4207
4208
        ('TypeId', 'NodeId'),
4209
        ('RequestHeader', 'RequestHeader'),
4210
        ('DeleteSubscriptions', 'Boolean'),
4211
               )
4212
4213
    def __init__(self, binary=None):
4214
        if binary is not None:
4215
            self._binary_init(binary)
4216
            self._freeze = True
4217
            return
4218
        self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary)
4219
        self.RequestHeader = RequestHeader()
4220
        self.DeleteSubscriptions = True
4221
        self._freeze = True
4222
4223
    def to_binary(self):
4224
        packet = []
4225
        packet.append(self.TypeId.to_binary())
4226
        packet.append(self.RequestHeader.to_binary())
4227
        packet.append(uabin.Primitives.Boolean.pack(self.DeleteSubscriptions))
4228
        return b''.join(packet)
4229
4230
    @staticmethod
4231
    def from_binary(data):
4232
        return CloseSessionRequest(data)
4233
4234
    def _binary_init(self, data):
4235
        self.TypeId = NodeId.from_binary(data)
4236
        self.RequestHeader = RequestHeader.from_binary(data)
4237
        self.DeleteSubscriptions = uabin.Primitives.Boolean.unpack(data)
4238
4239
    def __str__(self):
4240
        return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \
4241
               'RequestHeader:' + str(self.RequestHeader) + ', ' + \
4242
               'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')'
4243
4244
    __repr__ = __str__
@@ 8014-8075 (lines=62) @@
8011
        self.RelativePath = RelativePath.from_binary(data)
8012
        self.AttributeId = uabin.Primitives.UInt32.unpack(data)
8013
        self.IndexRange = uabin.Primitives.String.unpack(data)
8014
8015
    def __str__(self):
8016
        return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \
8017
               'AttributeId:' + str(self.AttributeId) + ', ' + \
8018
               'IndexRange:' + str(self.IndexRange) + ')'
8019
8020
    __repr__ = __str__
8021
8022
8023
class NodeTypeDescription(FrozenClass):
8024
    '''
8025
    :ivar TypeDefinitionNode:
8026
    :vartype TypeDefinitionNode: ExpandedNodeId
8027
    :ivar IncludeSubTypes:
8028
    :vartype IncludeSubTypes: Boolean
8029
    :ivar DataToReturn:
8030
    :vartype DataToReturn: QueryDataDescription
8031
    '''
8032
8033
    ua_types = (
8034
8035
        ('TypeDefinitionNode', 'ExpandedNodeId'),
8036
        ('IncludeSubTypes', 'Boolean'),
8037
        ('DataToReturn', 'ListOfQueryDataDescription'),
8038
               )
8039
8040
    def __init__(self, binary=None):
8041
        if binary is not None:
8042
            self._binary_init(binary)
8043
            self._freeze = True
8044
            return
8045
        self.TypeDefinitionNode = ExpandedNodeId()
8046
        self.IncludeSubTypes = True
8047
        self.DataToReturn = []
8048
        self._freeze = True
8049
8050
    def to_binary(self):
8051
        packet = []
8052
        packet.append(self.TypeDefinitionNode.to_binary())
8053
        packet.append(uabin.Primitives.Boolean.pack(self.IncludeSubTypes))
8054
        packet.append(uabin.Primitives.Int32.pack(len(self.DataToReturn)))
8055
        for fieldname in self.DataToReturn:
8056
            packet.append(fieldname.to_binary())
8057
        return b''.join(packet)
8058
8059
    @staticmethod
8060
    def from_binary(data):
8061
        return NodeTypeDescription(data)
8062
8063
    def _binary_init(self, data):
8064
        self.TypeDefinitionNode = ExpandedNodeId.from_binary(data)
8065
        self.IncludeSubTypes = uabin.Primitives.Boolean.unpack(data)
8066
        length = uabin.Primitives.Int32.unpack(data)
8067
        array = []
8068
        if length != -1:
8069
            for _ in range(0, length):
8070
                array.append(QueryDataDescription.from_binary(data))
8071
        self.DataToReturn = array
8072
8073
    def __str__(self):
8074
        return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \
8075
               'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \
8076
               'DataToReturn:' + str(self.DataToReturn) + ')'
8077
8078
    __repr__ = __str__