Edit File: rpcServer.cpython-36.pyc
3 z�~h�+������������������@���sZ��d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�d�dlmZ�d�dlmZ�d�dlmZ�d�dlm Z �d�dl mZ�d�dl mZ�d�d l mZ�y$d�dlZd�dlZd�dlZd�dlZW�n<�ek r����d�dljZd�dljZd�dljZd�dljZY�nX�d�dlZejd dd�Zeed ��seje_ejZ dd��Z!G�dd��dej"�Z#G�dd��d�Z$ddd�Z%ddd�Z&dd��Z'dS�)�����N)�config)� clientCaps)� up2dateLog)� up2dateErrors)�up2dateUtils)�SSL)�rpclib)� raise_with_tbzrhn-client-toolsT)�fallback�ugettextc�������������C���s���t�|���d�S�)N)�print)�msg��r����</usr/lib/python3.6/site-packages/up2date_client/rpcServer.py�stdoutMsgCallback$���s����r���c���������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�RetryServerc�������������C���s ���||�_�d�S�)N)� serverList)�selfr���r���r���r���� addServerList)���s����zRetryServer.addServerListc�������������C���s���t�j��|�_�xry|�j||�}W��nX�tjk r:�����Y��n@�tjk rR�����Y��n(�tj k r����|�jj d��ttd���t jd��Y�n����|�jj��}|d�kr�|�jj�����d|�j�}|dt j��d�t j��d�f��}|d|�jj����}|�jj |��tj|�jj���}|d�}|d�|�_|d�|�_|j��}|d k�rDttjd |����|�j|�_||�_|�jj��|�_|�j�sld|�_d|�_wY�nX�P�qW�|S�)Nz,Error: Server Unavailable. Please try later.����z!An error occurred talking to %s: z%s %s r���zTrying the next serverURL: %s �����http�httpsz%Redirected to unsupported protocol %sz/RPC2���)r���r���)r����initLog�log�_requestr����InvalidRedirectionError� xmlrpclib�Fault�httplib� BadStatusLine�log_mer����_�sys�exitr����next�resetServerIndex�_host�exc_info�server�urlparse�urlsplit�_handler�lowerr ���Z _orig_handler�_typeZ_uriZ_allow_redirect)r���� methodname�params�retr*���r ���Z parse_res�typr���r���r���� _request1,���sN���� zRetryServer._request1c�������������C���s���t�jj|�j|�S�)N)r���r����_Methodr4���)r����namer���r���r����__getattr__^���s����zRetryServer.__getattr__N)�__name__� __module__�__qualname__r���r4���r7���r���r���r���r���r���(���s���2r���c���������������@���s0���e�Zd�Zg�fdd�Zdd��Zdd��Zdd��Zd S�) � ServerListc�������������C���s���||�_�d|�_d�S�)Nr���)r����index)r���Z serverlistr���r���r����__init__e���s����zServerList.__init__c�������������C���s���|�j�|�j�|�_|�jS�)N)r���r<���Z serverurl)r���r���r���r���r*���i���s����zServerList.serverc�������������C���s(���|�j�d�|�_�|�j�t|�j�kr d�S�|�j��S�)Nr���)r<����lenr���r*���)r���r���r���r���r&���n���s����zServerList.nextc�������������C���s ���d|�_�d�S�)Nr���)r<���)r���r���r���r���r'���t���s����zServerList.resetServerIndexN)r8���r9���r:���r=���r*���r&���r'���r���r���r���r���r;���d���s���r;���c�������������C���sF���t�j��}|d�kr:|d�}|d�ks0t|j���dkr4d}|g}t|�||�S�)NZclnServerURLr���z&http://cln.cloudlinux.com/clweb/xmlrpc)r����initUp2dateConfigr>����strip� getServer)�refreshCallback�serverOverride�timeout�cfgr���r���r����getCLNServerw���s����rF���c�������������C���s`��t�j��}tj��}|d�}t|t�s(|g}|p0dg}|d�rDtj��}nd�}|sVtj��}n|}t|�} d�} d�}|d�r�|d�p|d�} |d�p�d�}d�}xFdD�]>} | t j kr�t j | �s�q�t j | �jd�d�}|jd �d�}P�q�W�t| j ��|�|| ||d�}|j| ��|jdtj����|�r|j|��dd��|jjD��}tj���tjj��}x|D�]\}}|j||���qBW�|S�)N� sslCACertz/usr/share/rhn/RHNS-CA-CERT�enableProxy�enableProxyAuth� proxyUser� proxyPassword�LANGUAGE�LC_ALL�LC_MESSAGES�LANG�:r����.)rB����proxy�username�passwordrD���zX-Up2date-Versionc�������������S���s"���g�|�]}t�j�|�d��dkrd�qS�)r���r���T)r+���)�.0�ir���r���r���� <listcomp>����s����zgetServer.<locals>.<listcomp>)rL���rM���rN���rO���)r���r���r���r?���� isinstance�list�getProxySetting� getServerlURLr;����os�environ�splitr���r*���r���� add_headerr����versionZsetlangr���r���Z loadLocalCaps�caps�headerFormat)rB���rC���rD���r���rE����caZ rhns_ca_certs� proxyHostZ serverUrlsr���rJ���rK����lang�env�sZneed_ca� headerlist� headerName�valuer���r���r���rA�������sT���� rA���c�������������O���s���t�j��}|jd|�jd����tj��}d�}d}yt|d��}W�n�tk rT���d}Y�nX�|dkrbd}�xPd}d�}y|�||�}W��n��tk r����t t jtd����Y��n��t jtjfk �r4���|jdtj��d�|f���||k�r*tj��d�} t| j�dk�rt t j| jd����nt t j| jd����nd}Y��nB�tjk �rb���td��t t jd���Y��n�tjk �r����tj��d�} d } | d | j��} | d| j��} | d| j��} |j| ��t t j| ���Y��n��tjk �rP���tj��d�} |jd | j |f���| j!dk�r$|jd| j"���|jd��t#j$| j%�\}}d} t&|�dk�rh|jd|���ddl'm(}�|j)���t&|�dk�r�|jtd���t t j| j ���t&|�dk�r&t*|d��t*g��k�r�|d�}n|d�}t*|�t*g��k�r�d|d�|d�|d�|d�f�}n|}d||f�} |j| ��t t j+| ���| �sL||k�rHt t j| j ���nd}Y�n&�tj,k �rt���t t jd���Y�nX�|d�k�r�P�nd}|�r�t-j.d��|d�}||krft jd��qfW�|S�)NzrpcServer: Calling XMLRPC %s� _Method__namer����networkRetriesr���zConnection aborted by the userz(A socket error occurred: %s, attempt #%szhttplib.IncompleteReadz An HTTP error occurred: zURL: %s zStatus Code: %s zError Message: %s z,A protocol error occurred: %s , attempt #%s,i���zCould not find URL, %sz)Check server name and/or URL, then retry �"���z'Auth token timeout occurred errmsg: %s)�up2dateAuth�3���z.Server has refused connection due to high load����z%s-%s-%s.%sr�������zFile Not Found: %s %sz Broken response from the server.����z0The data returned from the server was incomplete)/r���r���� log_debug�__dict__r���r?����int� ValueError�KeyboardInterruptr ���r����CommunicationErrorr#����socket�errorr����socket_errorr"���r$���r)���r>����argsr ����IncompleteReadr����urllib2� HTTPError�filename�coder ���r���� ProtocolError�errmsg�errcode�urlr���ZreportError�headers�abs�up2date_clientrn����updateLoginInfo�type�FileNotFoundError� ResponseError�time�sleep)�methodr|����kwargsr���rE���r2���Z attempt_countZattempts�failure�er ���ZerrCodeZerrMsg�resetrn����pkg�pkgNamer���r���r����doCall����s����� " r����)NNN)NNN)(r\���r$���ry���r����r����r���r���r���r���r����rhnr���r����rhn.tbr ���r ���r~���r+���r����ImportError�http.client�client�urllib.request�request�urllib.parse�parse� xmlrpc.client�gettext�translation�t�hasattrr���r#���r����Serverr���r;���rF���rA���r����r���r���r���r����<module>���s@��� < L