Code Duplication    Length = 11-14 lines in 3 locations

opcua/ua/uaprotocol_auto.py 3 locations

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