Code Duplication    Length = 11-14 lines in 3 locations

opcua/ua/uaprotocol_auto.py 3 locations

@@ 2254-2267 (lines=14) @@
2251
2252
    def _binary_init(self, data):
2253
        self.ServerUri = uabin.Primitives.String.unpack(data)
2254
        self.ProductUri = uabin.Primitives.String.unpack(data)
2255
        length = uabin.Primitives.Int32.unpack(data)
2256
        array = []
2257
        if length != -1:
2258
            for _ in range(0, length):
2259
                array.append(LocalizedText.from_binary(data))
2260
        self.ServerNames = array
2261
        self.ServerType = ApplicationType(uabin.Primitives.UInt32.unpack(data))
2262
        self.GatewayServerUri = uabin.Primitives.String.unpack(data)
2263
        self.DiscoveryUrls = uabin.Primitives.String.unpack_array(data)
2264
        self.SemaphoreFilePath = uabin.Primitives.String.unpack(data)
2265
        self.IsOnline = uabin.Primitives.Boolean.unpack(data)
2266
2267
    def __str__(self):
2268
        return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \
2269
               'ProductUri:' + str(self.ProductUri) + ', ' + \
2270
               'ServerNames:' + str(self.ServerNames) + ', ' + \
@@ 4663-4673 (lines=11) @@
4660
4661
    def _binary_init(self, data):
4662
        self.SpecifiedAttributes = uabin.Primitives.UInt32.unpack(data)
4663
        self.DisplayName = LocalizedText.from_binary(data)
4664
        self.Description = LocalizedText.from_binary(data)
4665
        self.WriteMask = uabin.Primitives.UInt32.unpack(data)
4666
        self.UserWriteMask = uabin.Primitives.UInt32.unpack(data)
4667
        self.Value = Variant.from_binary(data)
4668
        self.DataType = NodeId.from_binary(data)
4669
        self.ValueRank = uabin.Primitives.Int32.unpack(data)
4670
        self.ArrayDimensions = uabin.Primitives.UInt32.unpack_array(data)
4671
        self.IsAbstract = uabin.Primitives.Boolean.unpack(data)
4672
4673
    def __str__(self):
4674
        return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \
4675
               'DisplayName:' + str(self.DisplayName) + ', ' + \
4676
               'Description:' + str(self.Description) + ', ' + \
@@ 1993-2006 (lines=14) @@
1990
1991
    def _binary_init(self, data):
1992
        self.EndpointUrl = uabin.Primitives.String.unpack(data)
1993
        self.Server = ApplicationDescription.from_binary(data)
1994
        self.ServerCertificate = uabin.Primitives.ByteString.unpack(data)
1995
        self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data))
1996
        self.SecurityPolicyUri = uabin.Primitives.String.unpack(data)
1997
        length = uabin.Primitives.Int32.unpack(data)
1998
        array = []
1999
        if length != -1:
2000
            for _ in range(0, length):
2001
                array.append(UserTokenPolicy.from_binary(data))
2002
        self.UserIdentityTokens = array
2003
        self.TransportProfileUri = uabin.Primitives.String.unpack(data)
2004
        self.SecurityLevel = uabin.Primitives.Byte.unpack(data)
2005
2006
    def __str__(self):
2007
        return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \
2008
               'Server:' + str(self.Server) + ', ' + \
2009
               'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \