HEX
Server: LiteSpeed
System: Linux sys19.prosuperservers.com 5.14.0-611.49.2.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 30 09:05:08 EDT 2026 x86_64
User: inloveandmercy (1563)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/up2date_client/__pycache__/rhnserver.cpython-39.pyc
a

7
f�"�@s�ddlmZddlmZddlmZddlmZddlZddlZzddlZWne	yjddl
mZYn0Gdd�de�Z
Gdd	�d	e�ZdS)
�)�
raise_with_tb)�	rpcServer)�
up2dateErrors)�capabilitiesNc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_DoCallWrapperze
    A callable object that will handle multiple levels of attributes,
    and catch exceptions.
    cCs||_||_dS�N)�_server�_method_name)�selfZserver�method_name�r�</usr/lib/python3.9/site-packages/up2date_client/rhnserver.py�__init__5sz_DoCallWrapper.__init__cCst|jd|j|f�S)z= Recursively build up the method name to pass to the server. z%s.%s)rrr	�r
rrrr
�__getattr__9s�z_DoCallWrapper.__getattr__cOs�t|j|j�}ztj|g|�Ri|��WStjyRt|�t	�
�d��Yn�tjj
y�tt	�
�d�}|�d�}|�d�}d}t|�dkr�|d}nt|�dkr�|d}|�d�}|dkr�tt���ntt�|��Yn0dS)	z3 Call the method. Catch faults and translate them. �z[()]�,��z 'zcertificate verify failedN)�getattrrr	rZdoCall�	xmlrpclibZFaultr�$_DoCallWrapper__exception_from_fault�sys�exc_info�OpenSSLZSSL�Error�str�strip�split�lenrZSSLCertificateVerifyFailedErrorZNetworkError)r
�args�kwargs�method�error�pieces�messagerrr
�__call__>s$



z_DoCallWrapper.__call__cCs�|jdkrt�|j�}�n�|jdkr4t�|j�}�n�|jdkrNt�|j�}�nr|jdkrht�|j�}�nX|jdkr�t�|j�}�n>|jdkr�t�|j�}�n$|jdkr�t�|j�}�n
|jdkr�t�|j�}�n�|jd	kr�t�|j�}�n�|jd
k�rt�	|j�}�n�|jdk�r"t�
|j�}�n�t|j�dk�rBt�|j�}�n~t|j�d
k�rbt�
|j�}�n^t|j�dk�r~t��}�nBt|j�dk�r�t�|j�}�n"|jdk�r�t�|j�}�nt|j�dk�r�t�	|j�}n�|jdk�r�t�|j�}n�|jdk�rt�|j�}n�|jdk�r&t�|j�}n�|jdk�r@t�|j�}n�|jdk�sX|jdk�rft�|j�}nZ|jdk�r�t�|j�}n@|jdk�r�t�|j�}n&|jdk�r�t�|j�}nt�|j�}|S)N������i�������i�i�i�i�i��i��i����1�<�J�i�c�[i����i����i����i����i/���iD���iC���i������)Z	faultCoderZ$AuthenticationOrAccountCreationErrorZfaultStringZUnknownMethodExceptionZLoginMinLengthErrorZPasswordMinLengthErrorZValidationErrorZNoBaseChannelErrorZInsuffMgmntEntsErrorZ
PasswordError�absZ
AbuseErrorZAuthenticationTicketErrorZRegistrationDeniedErrorZRhnUuidUniquenessErrorZ
DelayErrorZInvalidRegistrationNumberErrorZNotEntitlingErrorZPasswordMaxLengthErrorZActivationKeyUsageLimitErrorZUnableToCreateUserZCommunicationError)r
Zfault�	exceptionrrr
Z__exception_from_faultXs|





�


����z%_DoCallWrapper.__exception_from_faultN)�__name__�
__module__�__qualname__�__doc__rrr&rrrrr
r.s
rc@s:eZdZdZddd�Zdd�Zee�Zdd�Zd	d
�Z	dS)�	RhnServerz`
    An rpc server object that calls doCall for you, and catches lower
    level exceptions
    NcCs*|durtj||d�|_n||_d|_dS)N)�serverOverride�timeout)rZ	getServerr�
_capabilities)r
r8r9ZrpcServerOverriderrr
r�s�
zRhnServer.__init__cCsL|jdurF|j��}|dur0|j��|j��}t��|_|j�|�|jSr)r:rZget_response_headersZregistrationZwelcome_messagerZCapabilitiesZpopulate)r
Zheadersrrr
Z__get_capabilities�s




zRhnServer.__get_capabilitiescCs|j�||�dSr)r�
add_header)r
�key�valuerrr
r;�szRhnServer.add_headercCst|j|�S)z8 Return a callable object that will do the work for us. )rrrrrr
r�szRhnServer.__getattr__)NNN)
r3r4r5r6rZ_RhnServer__get_capabilities�propertyrr;rrrrr
r7�s

r7)Zrhn.tbrZup2date_clientrrrrrr�ImportErrorZ
xmlrpc.clientZclient�objectrr7rrrr
�<module>"sx