;ò
êwƒ?c        
   @   s®  d  Z  d k Z d k Z d k Z d k l Z l Z h  d d d f <d d d f <d	 d
 d f <d d d f <d d d f <d d d g f <d d d f <d d d g f <d d d d g f <d d d g f <d  d! g  f <d" d# d$ f <d% d& d f <d' d( d f <d) d* d f <d+ d, d- f <d. d/ d$ f <d0 d1 d2 f <d3 d4 d5 f <d6 d7 d f <d8 d9 d- f <d: d; d- f <d< d= d- f <d> d? d f <d@ dA d f <dB dC dD f <dE dF dG f <dH dI dJ f <dK dL d f <dM dN d f <dO dP d$ f <dQ dR dE dS d	 d dQ dM g f <Z dT f  dU „  ƒ  YZ dV f  dW „  ƒ  YZ	 dX e f dY „  ƒ  YZ
 dZ d[ „ Z d\ „  Z e d] j o e Z e ƒ  n d S(^   sj   
This module includes the Config and Up2date Config classes use by the
up2date agent to hold config info.
N(   s   _s   N_s   enableProxys   Use a HTTP Proxyi    s	   serverURLs   Remote server URLs$   https://xmlrpc.rhn.redhat.com/XMLRPCs   noSSLServerURLs   Remote server URL without SSLs#   http://xmlrpc.rhn.redhat.com/XMLRPCs   debugs#   Whether or not debugging is enableds   systemIdPaths   Location of system ids   /etc/sysconfig/rhn/systemids   adminAddresssT   List of e-mail addresses for update agent to communicate with when run in batch modes   root@localhosts
   storageDirs>   Where to store packages and other data when they are retrieveds   /var/spool/up2dates   pkgSkipLists@   A list of package names, optionally including wildcards, to skips   kernel*s   pkgsToInstallNotUpdatesK   A list of provides names or package names of packages to install not updates   kernels   kernel-unsupporteds   removeSkipListsU   A list of package names, optionally including wildcards, that up2date will not removes   fileSkipLists=   A list of file names, optionally including wildcards, to skips   noReplaceConfigs[   When selected, no packages that would change configuration data are automatically installedi   s   retrieveOnlys   Retrieve packages onlys   retrieveSources-   Retrieve source RPM along with binary packages   keepAfterInstalls(   Keep packages on disk after installations   versionOverrides4   Override the automatically determined system versions    s   useGPGs#   Use GPG to verify package integritys   headerCacheSizes1   The maximum number of rpm headers to cache in rami(   s   headerFetchCounts4   The maximimum number of rpm headers to fetch at oncei
   s   forceInstallsL   Force package installation, ignoring package, file and config file skip lists	   httpProxys:   HTTP proxy in host:port format, e.g. squid.redhat.com:3128s	   proxyUsers'   The username for an authenticated proxys   proxyPasswords.   The password to use for an authenticated proxys   enableProxyAuths$   To use an authenticated proxy or nots   noBootLoaders<   To disable modification of the boot loader (lilo, silo, etc)s   networkRetriessB   Number of attempts to make at network connections before giving upi   s	   sslCACerts)   The CA cert used to verify the ssl servers   /usr/share/rhn/RHNS-CA-CERTs
   gpgKeyRings<   The location of the gpg keyring to use for package checking.s&   /etc/sysconfig/rhn/up2date-keyring.gpgs   enableRollbackss0   Determine if up2date should create rollback rpmss   noReboots   Disable the reboot actions   updateUp2dates,   Allow up2date to update itself when possibles   disallowConfChangessD   Config options that can not be overwritten by a config update actions   useNoSSLForPackagess
   ConfigFilec           B   sn   t  Z d  Z e d „ Z e d „ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z RS(   s;   class for handling persistent config options for the clientc         C   s.   h  |  _ | |  _ |  i o |  i ƒ  n d  S(   N(   s   selfs   dicts   filenames   fileNames   load(   s   selfs   filename(    (    s'   /usr/share/rhn/up2date_client/config.pys   __init__n   s    		
c   
      C   s]  | o | |  _ n |  i t j o d  Sn t i |  i t i ƒ o d |  i GHd  Sn t |  i d ƒ } xà| i	 ƒ  D]Ò}	 d |	 j o |	 t i |	 d ƒ  }	 n t i |	 ƒ }	 |	 o qy n t } y+ t t i t i |	 d d ƒ ƒ \ } } Wn t j
 o
 qy n Xt } t i | d ƒ } | d j o | |  } | } t } n | ox t i | d ƒ } t | ƒ d j o* y t | ƒ } WqÈt j
 o qÈXqÌ| d	 d
 j o
 g  } qÌ| d  } n | | f } |  i i | ƒ oS |  i | } | t j	 o | | d f } n | t j	 o | d	 | f } q>n | |  i | <qy W| i ƒ  d  S(   Ns   warning: can't access %ss   rs   #s   =i   s	   [comment]iÿÿÿÿs   ;i    s    (   s   filenames   selfs   fileNames   Nones   oss   accesss   R_OKs   opens   fs	   readliness   lines   strings   finds   strips   values   maps   splits   keys
   ValueErrors   comments   poss   valuess   lens   ints   newvals   dicts   has_keys   close(
   s   selfs   filenames   comments   fs   poss   values   newvals   valuess   keys   line(    (    s'   /usr/share/rhn/up2date_client/config.pys   loadt   sZ     +

	
c      	   C   s-  |  i t j o d  Sn t |  i d ƒ } t i |  i d ƒ | i d ƒ | i d ƒ | i d ƒ x¸ |  i i	 ƒ  D]§ } |  i | } | i d | | d f ƒ t | d ƒ t g  ƒ j o4 | i d	 | t i t t | d ƒ d
 ƒ f ƒ n | i d | | d f ƒ | i d ƒ qt W| i ƒ  d  S(   Ns   wi€  sI   # Automatically generated Red Hat Update Agent config file, do not edit.
s   # Format: 1.0
s    s   %s[comment]=%s
i    i   s   %s=%s;
s   ;s   %s=%s
s   
(   s   selfs   fileNames   Nones   opens   fs   oss   chmods   writes   dicts   keyss   keys   vals   types   strings   joins   maps   strs   close(   s   selfs   vals   fs   key(    (    s'   /usr/share/rhn/up2date_client/config.pys   save¯   s      4c         C   s   |  i i | ƒ Sd  S(   N(   s   selfs   dicts   has_keys   name(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   has_keyÅ   s    c         C   s   |  i i ƒ  Sd  S(   N(   s   selfs   dicts   keys(   s   self(    (    s'   /usr/share/rhn/up2date_client/config.pys   keysÇ   s    c         C   s   t  d „  |  i i ƒ  ƒ Sd  S(   Nc         C   s   |  d S(   Ni   (   s   a(   s   a(    (    s'   /usr/share/rhn/up2date_client/config.pys   <lambda>Ê   s    (   s   maps   selfs   dicts   values(   s   self(    (    s'   /usr/share/rhn/up2date_client/config.pys   valuesÉ   s    c         C   s   |  i i | ƒ d  S(   N(   s   selfs   dicts   update(   s   selfs   dict(    (    s'   /usr/share/rhn/up2date_client/config.pys   updateË   s    c         C   s.   |  i i | ƒ o |  i | d Sn t Sd  S(   Ni   (   s   selfs   dicts   has_keys   names   None(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   __getitem__Ï   s    c         C   sK   |  i i | ƒ o |  i | } n t t f } | d | f |  i | <d  S(   Ni    (   s   selfs   dicts   has_keys   names   vals   Nones   value(   s   selfs   names   values   val(    (    s'   /usr/share/rhn/up2date_client/config.pys   __setitem__Ó   s    c         C   s.   |  i i | ƒ o |  i | d Sn d Sd  S(   Ni    s    (   s   selfs   dicts   has_keys   name(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   infoÚ   s    (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   loads   saves   has_keys   keyss   valuess   updates   __getitem__s   __setitem__s   info(    (    (    s'   /usr/share/rhn/up2date_client/config.pys
   ConfigFilel   s    ;							s   Configc           B   sw   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   Nc         C   sD   t  ƒ  |  _ |  i i t ƒ | o |  i i | ƒ n h  |  _ d  S(   N(   s
   ConfigFiles   selfs   storeds   updates   Defaultss   filenames   loads   runtime(   s   selfs   filename(    (    s'   /usr/share/rhn/up2date_client/config.pys   __init__â   s
    c         C   s>   |  i i | ƒ o d Sn |  i i | ƒ o d Sn d Sd  S(   Ni   i    (   s   selfs   runtimes   has_keys   names   stored(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   has_keyë   s
    c         C   sO   |  i i ƒ  } x5 |  i i ƒ  D]$ } | | j o | i | ƒ q q W| Sd  S(   N(   s   selfs   runtimes   keyss   rets   storeds   ks   append(   s   selfs   ks   ret(    (    s'   /usr/share/rhn/up2date_client/config.pys   keysñ   s     c         C   s;   g  } x* |  i ƒ  D] } | i |  i | ƒ ƒ q W| Sd  S(   N(   s   rets   selfs   keyss   ks   appends   __getitem__(   s   selfs   ks   ret(    (    s'   /usr/share/rhn/up2date_client/config.pys   values÷   s
     c         C   sA   g  } x0 |  i ƒ  D]" } | i | |  i | ƒ f ƒ q W| Sd  S(   N(   s   rets   selfs   keyss   ks   appends   __getitem__(   s   selfs   ks   ret(    (    s'   /usr/share/rhn/up2date_client/config.pys   itemsü   s
      c         C   s   t  |  i ƒ  ƒ Sd  S(   N(   s   lens   selfs   keys(   s   self(    (    s'   /usr/share/rhn/up2date_client/config.pys   __len__  s    c         C   s   | |  i | <d  S(   N(   s   values   selfs   runtimes   name(   s   selfs   names   value(    (    s'   /usr/share/rhn/up2date_client/config.pys   __setitem__  s    c         C   sL   |  i i | ƒ o |  i | Sn |  i i | ƒ o |  i | Sn t Sd  S(   N(   s   selfs   runtimes   has_keys   names   storeds   None(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   __getitem__  s
    c         C   s   |  i i | ƒ Sd  S(   N(   s   selfs   storeds   infos   name(   s   selfs   name(    (    s'   /usr/share/rhn/up2date_client/config.pys   info  s    c         C   s   |  i i ƒ  d  S(   N(   s   selfs   storeds   save(   s   self(    (    s'   /usr/share/rhn/up2date_client/config.pys   save  s    c         C   sS   |  i i | ƒ x< |  i i ƒ  D]+ } |  i i | ƒ o q  n |  i | =q  Wd  S(   N(   s   selfs   storeds   loads   filenames   keyss   ks   runtimes   has_key(   s   selfs   filenames   k(    (    s'   /usr/share/rhn/up2date_client/config.pys   load  s     c         C   s2   | |  i | <|  i i | ƒ o |  i | =n d  S(   N(   s   values   selfs   storeds   names   runtimes   has_key(   s   selfs   names   value(    (    s'   /usr/share/rhn/up2date_client/config.pys   set  s    (   s   __name__s
   __module__s   Nones   __init__s   has_keys   keyss   valuess   itemss   __len__s   __setitem__s   __getitem__s   infos   saves   loads   set(    (    (    s'   /usr/share/rhn/up2date_client/config.pys   Configá   s   													s
   UuidConfigc           B   s   t  Z d  Z d „  Z RS(   sC   derived from the ConfigFile class, with prepopulated default valuesc         C   s   t  i |  ƒ d |  _ d  S(   Ns   /etc/sysconfig/rhn/up2date-uuid(   s
   ConfigFiles   __init__s   selfs   fileName(   s   self(    (    s'   /usr/share/rhn/up2date_client/config.pys   __init__$  s    (   s   __name__s
   __module__s   __doc__s   __init__(    (    (    s'   /usr/share/rhn/up2date_client/config.pys
   UuidConfig"  s    s   /etc/sysconfig/rhn/up2datec         C   sÔ   y
 t  a  Wn t j
 o t a  n Xt  t j o™ t |  ƒ a  d t  d <t i i ƒ  o d t  d <n t ƒ  } | i
 ƒ  } | d t j p | d d j o t d ƒ GHt i d ƒ n | d t  d <n t  Sd  S(   Ni    s   isattyi   s   rhnuuids   UNSPECIFIEDsB   No rhnuuid config option found in /etc/sysconfig/rhn/up2date-uuid.(   s   cfgs	   NameErrors   Nones   Configs   files   syss   stdouts   isattys
   UuidConfigs   uuidCfgs   loads   ucs   _s   exit(   s   files   uuidCfgs   uc(    (    s'   /usr/share/rhn/up2date_client/config.pys   initUp2dateConfig)  s"     

	"c          C   sP   t  d ƒ }  |  d GHd |  d <|  d GH|  i d d ƒ GH|  i ƒ  |  d GHd  S(   Ns   foo-test.configs	   serverURLs   http://hokeypokeyland.coms   debugid   (   s   initUp2dateConfigs   sources   sets   save(   s   source(    (    s'   /usr/share/rhn/up2date_client/config.pys   mainC  s    	
	
s   __main__(   s   __doc__s   oss   syss   strings   rhpl.translates   _s   N_s   Defaultss
   ConfigFiles   Configs
   UuidConfigs   initUp2dateConfigs   mains   __name__s   Nones   __CFG(   s   __CFGs
   UuidConfigs   strings   Configs   syss
   ConfigFiles   Defaultss   N_s   initUp2dateConfigs   mains   oss   _(    (    s'   /usr/share/rhn/up2date_client/config.pys   ?   s   			ÿ ÿ 	SuA	
