Code Duplication    Length = 11-14 lines in 3 locations

opcua/ua/uaprotocol_auto.py 3 locations

@@ 2254-2267 (lines=14) @@
2251
    @staticmethod
2252
    def from_binary(data):
2253
        return EndpointDescription(data)
2254
2255
    def _binary_init(self, data):
2256
        self.EndpointUrl = uabin.Primitives.String.unpack(data)
2257
        self.Server = ApplicationDescription.from_binary(data)
2258
        self.ServerCertificate = uabin.Primitives.ByteString.unpack(data)
2259
        self.SecurityMode = MessageSecurityMode(uabin.Primitives.UInt32.unpack(data))
2260
        self.SecurityPolicyUri = uabin.Primitives.String.unpack(data)
2261
        length = uabin.Primitives.Int32.unpack(data)
2262
        array = []
2263
        if length != -1:
2264
            for _ in range(0, length):
2265
                array.append(UserTokenPolicy.from_binary(data))
2266
        self.UserIdentityTokens = array
2267
        self.TransportProfileUri = uabin.Primitives.String.unpack(data)
2268
        self.SecurityLevel = uabin.Primitives.Byte.unpack(data)
2269
2270
    def __str__(self):
@@ 4663-4673 (lines=11) @@
4660
        ('Historizing', 'Boolean'),
4661
               )
4662
4663
    def __init__(self, binary=None):
4664
        if binary is not None:
4665
            self._binary_init(binary)
4666
            self._freeze = True
4667
            return
4668
        self.SpecifiedAttributes = 0
4669
        self.DisplayName = LocalizedText()
4670
        self.Description = LocalizedText()
4671
        self.WriteMask = 0
4672
        self.UserWriteMask = 0
4673
        self.Value = Variant()
4674
        self.DataType = NodeId()
4675
        self.ValueRank = 0
4676
        self.ArrayDimensions = []
@@ 1993-2006 (lines=14) @@
1990
        self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary)
1991
        self.RequestHeader = RequestHeader()
1992
        self.Parameters = FindServersOnNetworkParameters()
1993
        self._freeze = True
1994
1995
    def to_binary(self):
1996
        packet = []
1997
        packet.append(self.TypeId.to_binary())
1998
        packet.append(self.RequestHeader.to_binary())
1999
        packet.append(self.Parameters.to_binary())
2000
        return b''.join(packet)
2001
2002
    @staticmethod
2003
    def from_binary(data):
2004
        return FindServersOnNetworkRequest(data)
2005
2006
    def _binary_init(self, data):
2007
        self.TypeId = NodeId.from_binary(data)
2008
        self.RequestHeader = RequestHeader.from_binary(data)
2009
        self.Parameters = FindServersOnNetworkParameters.from_binary(data)