3
�XjS; � @ sB d Z ddlZddlZddlZddlZddlmZmZ ddlm Z m
Z
yddlmZm
Z
W n$ ek
r| ddlmZm
Z
Y nX ddlZejddd�Zeed �s�eje_ejZd9d:d;dd?d@dAdBdCdDdEddd d!gfd"�Zd#dd$gZG d%d&� d&�ZG d'd(� d(�Zd)d*� Zd+d,� Zd-d.� ZdFd0d1�ZdGd2d3�ZdHd4d5�ZdId7d8�Z dS )Jzj
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://xmlrpc.cln.cloudlinux.com/XMLRPC/�&Remote server URL for access over IPv6�.https://ipv6.xmlrpc.cln.cloudlinux.com/XMLRPC/�Mirror list URL�>https://repo.cloudlinux.com/cloudlinux/mirrorlists/cln-mirrors�#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/CLN-ORG-TRUSTED-SSL-CERTzDConfig options that can not be overwritten by a config update action� sslCACert� serverURL�disallowConfChanges)ZenableProxyr �
serverURLipv6Z mirrorURL�debug�systemIdPathZversionOverride� httpProxy� proxyUser�
proxyPasswordZenableProxyAuthZnetworkRetriesr r r" ZtmpDirc @ sl e Zd ZdZddd�Zddd�Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� ZdS )�
ConfigFilez;class for handling persistent config options for the clientNc C s i | _ || _| jr| j� d S )N)�dict�fileName�load)�self�filename� r, �/usr/lib/python3.6/config.py�__init__B s zConfigFile.__init__c C s� |r
|| _ | j d krd S tj| j tj�s,d S t| j d�}d}�x�|j� D �]�}|jd�dkr^qH||j� }|spqH|d dkr�|d d� j� }qHnd}|jdd�}t |�dkr�qH|d j� }t
|d j� �}d }|jd �} | dkr�|d | � }|}d }|�rx|jd
�}
|dk�r"t|jt
j� ��}nVt |
�dk�rVyt|�}W n tk
�rR Y nX n"|
d dk�rjg }nd
d� |
D �}||f}|| jk�r�| j| }|d k �r�||d f}|d k �r�|d |f}|| j|<