JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/up2date_client/__pycache__/rhnserver.cpython-39.pyc

a

c8h;%�@s�ddlmZddlmZddlmZddlmZddlZddlZzddlZWne	yjddl
mZYn0Gdd�de�Z
Gdd	�d	e�ZGd
d�de�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:eZdZdZddd�Zdd�Zee�Zdd	�Zd
d�Z	dS)
�	RhnServerz`
    An rpc server object that calls doCall for you, and catches lower
    level exceptions
    NFcCs,|durtj|||d�|_n||_d|_dS)N)�serverOverride�timeout�registration)rZ	getServerr�
_capabilities)r
r8r9�rpcServerOverrider:rrr
r�s�
zRhnServer.__init__cCsL|jdurF|j��}|dur0|j��|j��}t��|_|j�|�|jSr)r;rZget_response_headersr:Zwelcome_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)z6Return a callable object that will do the work for us.)rrrrrr
r�szRhnServer.__getattr__)NNNF)
r3r4r5r6rZ_RhnServer__get_capabilities�propertyrr=rrrrr
r7�s�

r7cs"eZdZdZd�fdd�	Z�ZS)�RegistrationRhnServerz�
    A specialized RhnServer subclass for handling registration-related calls.

    Intended to be used as a shorthand for registration tasks instead of
    the plain RhnServer.
    Ncstt|�j|||dd�dS)NT)r8r9r<r:)�superrAr)r
r8r9r<��	__class__rr
r�s
�zRegistrationRhnServer.__init__)NNN)r3r4r5r6r�
__classcell__rrrCr
rA�srA)Zrhn.tbrZup2date_clientrrrrrr�ImportErrorZ
xmlrpc.clientZclient�objectrr7rArrrr
�<module>"sx+
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg