HEX
Server: LiteSpeed
System: Linux w5304130.sdnsbox.com 4.18.0-425.3.1.lve.el8.x86_64 #1 SMP Tue Nov 22 22:59:23 EST 2022 x86_64
User: makefitmeserver (1001)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/up2date_client/__pycache__/config.cpython-36.pyc
3

��`Y/�@s4dZddlZddlZddlZddlmZmZddlmZm	Z	yddl
mZmZWn$e
k
rtddlmZmZYnXddlZejddd�Zeed	�s�eje_ejZd6d7d8d9d:d;d<d=d>d?d@dAdddddgfd �
Zd!dd"gZGd#d$�d$�ZGd%d&�d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�ZdBd4d5�ZdS)Czj
This module includes the Config and Up2date Config classes use by the
up2date agent to hold config info.
�N)�idn_ascii_to_puny�idn_puny_to_unicode)�ustr�sstr)�urlsplit�
urlunsplitzrhn-client-toolsT)Zfallback�ugettext�Use a HTTP Proxy�Remote server URL�#https://your.server.url.here/XMLRPC�#Whether or not debugging is enabled�Location of system id�/etc/sysconfig/rhn/systemid�4Override the automatically determined system version��;HTTP proxy in host:port format, e.g. squid.example.com:3128�'The username for an authenticated proxy�.The password to use for an authenticated proxy�$To use an authenticated proxy or not�BNumber of attempts to make at network connections before giving up��)The CA cert used to verify the ssl server�'/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT�Disable the reboot actionzDConfig options that can not be overwritten by a config update action�	sslCACert�	serverURL�disallowConfChanges�noReboot)
ZenableProxyr�debug�systemIdPathZversionOverride�	httpProxy�	proxyUser�
proxyPasswordZenableProxyAuthZnetworkRetriesrrrrZtmpDirc@sleZdZdZddd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�
ConfigFilez;class for handling persistent config options for the clientNcCsi|_||_|jr|j�dS)N)�dict�fileName�load)�self�filename�r)�/usr/lib/python3.6/config.py�__init__GszConfigFile.__init__cCs�|r
||_|jdkrdStj|jtj�s,dSt|jd�}d}�x�|j�D�]�}|jd�dkr^qH||j�}|spqH|ddkr�|dd�j�}qHnd}|jdd�}t	|�dkr�qH|dj�}t
|dj��}d}|jd	�}	|	dkr�|d|	�}|}d}|�rx|jd
�}
|dk�r"t|jt
j���}nVt	|
�dk�rVyt|�}Wntk
�rRYnXn"|
ddk�rjg}nd
d�|
D�}||f}||jk�r�|j|}|dk	�r�||df}|dk	�r�|d|f}||j|<qHW|j�dS)N�rr�#rr�\�=�z	[comment]�;r!r"cSsg|]}|j�r|j��qSr))�strip)�.0�valr)r)r*�
<listcomp>�sz#ConfigFile.load.<locals>.<listcomp>���r6r6)r!r")r%�os�access�R_OK�open�	readlines�findr2�split�lenrr�encode�locale�getpreferredencoding�int�
ValueErrorr$�close)r'r(�fZ	multiline�liner=�key�value�comment�pos�valuesZnewvalr)r)r*r&Msd






zConfigFile.loadc	CsJ|jdkrdStj|jtj�sTtjtjj|j�tj�sTttdtjj|j���dSt|jdd�}tj	|jdt
dd��|jd�|jd�|jd�x�|jj
�D]�}|j|\}}|jtd	||f��t|�tg�kr�|g}|tkr�ttjj|�}|jtd
|djtt|��f��|jd�q�W|j�tj|jd|j�dS)
Nz%s was not foundz.new�wZ0644�zI# Automatically generated Red Hat Update Agent config file, do not edit.
z# Format: 1.0
rz%s[comment]=%s
z%s=%s
r1�
)r%r7r8r9�path�dirname�print�_r:�chmodrB�writer$�keysr�type�FileOptions�map�abspath�join�strrD�rename)r'rErGrIrHr)r)r*�save�s,
	


"zConfigFile.savecCs
||jkS)N)r$)r'�namer)r)r*�__contains__�szConfigFile.__contains__cCs||kS)Nr))r'r^r)r)r*�has_key�szConfigFile.has_keycCs
|jj�S)N)r$rU)r'r)r)r*rU�szConfigFile.keyscCsdd�|jj�D�S)NcSsg|]}|d�qS)rr))r3�ar)r)r*r5�sz%ConfigFile.values.<locals>.<listcomp>)r$rK)r'r)r)r*rK�szConfigFile.valuescCs|jj|�dS)N)r$�update)r'r$r)r)r*rb�szConfigFile.updatecCs||jkr|j|dSdS)Nr)r$)r'r^r)r)r*�__getitem__�s
zConfigFile.__getitem__cCs0||jkr|j|}nd}|d|f|j|<dS)Nr)NN)r$)r'r^rHr4r)r)r*�__setitem__�s
zConfigFile.__setitem__cCs||jkr|j|dSdS)Nrr)r$)r'r^r)r)r*�info�s
zConfigFile.info)N)N)�__name__�
__module__�__qualname__�__doc__r+r&r]r_r`rUrKrbrcrdrer)r)r)r*r#Es

H$r#c@sveZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�ConfigNcCs.t�|_|jjt�|r$|jj|�i|_dS)N)r#�storedrb�Defaultsr&�runtime)r'r(r)r)r*r+�s
zConfig.__init__cCs ||jkrdS||jkrdSdS)NTF)rmrk)r'r^r)r)r*r_�s


zConfig.__contains__cCs||kS)Nr))r'r^r)r)r*r`�szConfig.has_keycCs8t|jj��}x$|jj�D]}||kr|j|�qW|S)N)�listrmrUrk�append)r'�ret�kr)r)r*rU�s
zConfig.keyscCs*g}x |j�D]}|j|j|��qW|S)N)rUrorc)r'rprqr)r)r*rK�sz
Config.valuescCs.g}x$|j�D]}|j||j|�f�qW|S)N)rUrorc)r'rprqr)r)r*�itemsszConfig.itemscCst|j��S)N)r>rU)r'r)r)r*�__len__szConfig.__len__cCs||j|<dS)N)rm)r'r^rHr)r)r*rdszConfig.__setitem__cCs,||jkr|j|S||jkr(|j|SdS)N)rmrk)r'r^r)r)r*rcs




zConfig.__getitem__cCs|jj|�S)N)rkre)r'r^r)r)r*reszConfig.infocCs|jj�dS)N)rkr])r'r)r)r*r]szConfig.savecCs8|jj|�x&|jj�D]}||jkr(q|j|=qWdS)N)rkr&rUrm)r'r(rqr)r)r*r&s

zConfig.loadcCs ||j|<||jkr|j|=dS)N)rkrm)r'r^rHr)r)r*�set(s

z
Config.set)N)rfrgrhr+r_r`rUrKrrrsrdrcrer]r&rtr)r)r)r*rj�s
		
rjcCs^t�}d}|d}|rZ|dd�dkr2|dd�}|jd�}tt|d��|d<dj|�}|S)zl returns proxy string in format hostname:port
    hostname is converted to Punycode (RFC3492) if needed
    Nr �zhttp://�:r)�initUp2dateConfigr=r[rrZ)�cfg�proxyZ	proxyHost�partsr)r)r*�getProxySetting/s

r{cCs:t|�}tt|dtt|d��|d|d|df��S)z? returns url where hostname is converted to Punycode (RFC3492) rrr0��)rrrrr)�url�sr)r)r*�convert_url_to_puny@sr�cCs6t|�}tt|dt|d�|d|d|df��S)zZ returns url where hostname is converted from Punycode (RFC3492). Returns unicode string. rrr0r|r})rrrr)r~rr)r)r*�convert_url_from_punyEsr�cCs>t�}t|d�tg�kr,dd�|dD�St|d�gSdS)z� return list of serverURL from config
        Note: in config may be one value or more values, but this
        function always return list
    rcSsg|]}t|��qSr))r�)r3�ir)r)r*r5Ssz!getServerlURL.<locals>.<listcomp>N)rwrVr�)rxr)r)r*�
getServerlURLJsr�cCst�}|jd|�dS)z Set serverURL in config rN)rwrt)rrxr)r)r*�setServerURLWsr�cCst�}|jd|�dS)z Set sslCACert in config rN)rwrt)rrxr)r)r*�setSSLCACert\sr��/etc/sysconfig/rhn/up2datecCsPytWntk
r daYnXtdkrLt|�adtd<tjj�rLdtd<tS)z<This function is the right way to get at the up2date config.NF�isattyT)rx�	NameErrorrj�sys�stdoutr�)Zcfg_filer)r)r*rwbs

rw)r	r)r
r)rr)r
r)rr)rr)rr)rr)rr)rr)rr)rr)r�) rir7r�r@Zrhn.connectionsrrZrhn.i18nrrZurlparserr�ImportErrorZurllib.parse�gettextZtranslation�t�hasattrrrRrlrWr#rjr{r�r�r�r�r�rwr)r)r)r*�<module>sh

O