Code Duplication    Length = 80-82 lines in 2 locations

opcua/ua/uaprotocol_auto.py 2 locations

@@ 1996-2077 (lines=82) @@
1993
    __repr__ = __str__
1994
1995
1996
class RegisteredServer(FrozenClass):
1997
    '''
1998
    The information required to register a server with a discovery server.
1999
2000
    :ivar ServerUri:
2001
    :vartype ServerUri: String
2002
    :ivar ProductUri:
2003
    :vartype ProductUri: String
2004
    :ivar ServerNames:
2005
    :vartype ServerNames: LocalizedText
2006
    :ivar ServerType:
2007
    :vartype ServerType: ApplicationType
2008
    :ivar GatewayServerUri:
2009
    :vartype GatewayServerUri: String
2010
    :ivar DiscoveryUrls:
2011
    :vartype DiscoveryUrls: String
2012
    :ivar SemaphoreFilePath:
2013
    :vartype SemaphoreFilePath: String
2014
    :ivar IsOnline:
2015
    :vartype IsOnline: Boolean
2016
    '''
2017
    def __init__(self, binary=None):
2018
        if binary is not None:
2019
            self._binary_init(binary)
2020
            self._freeze = True
2021
            return
2022
        self.ServerUri = ''
2023
        self.ProductUri = ''
2024
        self.ServerNames = []
2025
        self.ServerType = ApplicationType(0)
2026
        self.GatewayServerUri = ''
2027
        self.DiscoveryUrls = []
2028
        self.SemaphoreFilePath = ''
2029
        self.IsOnline = True
2030
        self._freeze = True
2031
2032
    def to_binary(self):
2033
        packet = []
2034
        packet.append(pack_string(self.ServerUri))
2035
        packet.append(pack_string(self.ProductUri))
2036
        packet.append(uatype_Int32.pack(len(self.ServerNames)))
2037
        for fieldname in self.ServerNames:
2038
            packet.append(fieldname.to_binary())
2039
        packet.append(uatype_UInt32.pack(self.ServerType.value))
2040
        packet.append(pack_string(self.GatewayServerUri))
2041
        packet.append(uatype_Int32.pack(len(self.DiscoveryUrls)))
2042
        for fieldname in self.DiscoveryUrls:
2043
            packet.append(pack_string(fieldname))
2044
        packet.append(pack_string(self.SemaphoreFilePath))
2045
        packet.append(uatype_Boolean.pack(self.IsOnline))
2046
        return b''.join(packet)
2047
2048
    @staticmethod
2049
    def from_binary(data):
2050
        return RegisteredServer(data)
2051
2052
    def _binary_init(self, data):
2053
        self.ServerUri = unpack_string(data)
2054
        self.ProductUri = unpack_string(data)
2055
        length = uatype_Int32.unpack(data.read(4))[0]
2056
        array = []
2057
        if length != -1:
2058
            for _ in range(0, length):
2059
                array.append(LocalizedText.from_binary(data))
2060
        self.ServerNames = array
2061
        self.ServerType = ApplicationType(uatype_UInt32.unpack(data.read(4))[0])
2062
        self.GatewayServerUri = unpack_string(data)
2063
        self.DiscoveryUrls = unpack_uatype_array('String', data)
2064
        self.SemaphoreFilePath = unpack_string(data)
2065
        self.IsOnline = uatype_Boolean.unpack(data.read(1))[0]
2066
2067
    def __str__(self):
2068
        return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \
2069
               'ProductUri:' + str(self.ProductUri) + ', ' + \
2070
               'ServerNames:' + str(self.ServerNames) + ', ' + \
2071
               'ServerType:' + str(self.ServerType) + ', ' + \
2072
               'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \
2073
               'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \
2074
               'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \
2075
               'IsOnline:' + str(self.IsOnline) + ')'
2076
2077
    __repr__ = __str__
2078
2079
2080
class RegisterServerRequest(FrozenClass):
@@ 1770-1849 (lines=80) @@
1767
    __repr__ = __str__
1768
1769
1770
class EndpointDescription(FrozenClass):
1771
    '''
1772
    The description of a endpoint that can be used to access a server.
1773
1774
    :ivar EndpointUrl:
1775
    :vartype EndpointUrl: String
1776
    :ivar Server:
1777
    :vartype Server: ApplicationDescription
1778
    :ivar ServerCertificate:
1779
    :vartype ServerCertificate: ByteString
1780
    :ivar SecurityMode:
1781
    :vartype SecurityMode: MessageSecurityMode
1782
    :ivar SecurityPolicyUri:
1783
    :vartype SecurityPolicyUri: String
1784
    :ivar UserIdentityTokens:
1785
    :vartype UserIdentityTokens: UserTokenPolicy
1786
    :ivar TransportProfileUri:
1787
    :vartype TransportProfileUri: String
1788
    :ivar SecurityLevel:
1789
    :vartype SecurityLevel: Byte
1790
    '''
1791
    def __init__(self, binary=None):
1792
        if binary is not None:
1793
            self._binary_init(binary)
1794
            self._freeze = True
1795
            return
1796
        self.EndpointUrl = ''
1797
        self.Server = ApplicationDescription()
1798
        self.ServerCertificate = b''
1799
        self.SecurityMode = MessageSecurityMode(0)
1800
        self.SecurityPolicyUri = ''
1801
        self.UserIdentityTokens = []
1802
        self.TransportProfileUri = ''
1803
        self.SecurityLevel = 0
1804
        self._freeze = True
1805
1806
    def to_binary(self):
1807
        packet = []
1808
        packet.append(pack_string(self.EndpointUrl))
1809
        packet.append(self.Server.to_binary())
1810
        packet.append(pack_bytes(self.ServerCertificate))
1811
        packet.append(uatype_UInt32.pack(self.SecurityMode.value))
1812
        packet.append(pack_string(self.SecurityPolicyUri))
1813
        packet.append(uatype_Int32.pack(len(self.UserIdentityTokens)))
1814
        for fieldname in self.UserIdentityTokens:
1815
            packet.append(fieldname.to_binary())
1816
        packet.append(pack_string(self.TransportProfileUri))
1817
        packet.append(uatype_Byte.pack(self.SecurityLevel))
1818
        return b''.join(packet)
1819
1820
    @staticmethod
1821
    def from_binary(data):
1822
        return EndpointDescription(data)
1823
1824
    def _binary_init(self, data):
1825
        self.EndpointUrl = unpack_string(data)
1826
        self.Server = ApplicationDescription.from_binary(data)
1827
        self.ServerCertificate = unpack_bytes(data)
1828
        self.SecurityMode = MessageSecurityMode(uatype_UInt32.unpack(data.read(4))[0])
1829
        self.SecurityPolicyUri = unpack_string(data)
1830
        length = uatype_Int32.unpack(data.read(4))[0]
1831
        array = []
1832
        if length != -1:
1833
            for _ in range(0, length):
1834
                array.append(UserTokenPolicy.from_binary(data))
1835
        self.UserIdentityTokens = array
1836
        self.TransportProfileUri = unpack_string(data)
1837
        self.SecurityLevel = uatype_Byte.unpack(data.read(1))[0]
1838
1839
    def __str__(self):
1840
        return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \
1841
               'Server:' + str(self.Server) + ', ' + \
1842
               'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \
1843
               'SecurityMode:' + str(self.SecurityMode) + ', ' + \
1844
               'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \
1845
               'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \
1846
               'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \
1847
               'SecurityLevel:' + str(self.SecurityLevel) + ')'
1848
1849
    __repr__ = __str__
1850
1851
1852
class GetEndpointsParameters(FrozenClass):