Ñò
‹”Jc        
   @   s¬   d  d k  Z  d  d k Z d  d k l Z d  d k l Z d  d k  l Z d  d k Td d d d	 g Z d
 d „ Z	 e
 d „ Z d e f d „  ƒ  YZ d	 e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   Command(   t   convert_path(   t   log(   t   *t   config_filet   edit_configt   option_baset   setoptt   localc         C   sš   |  d j o d S|  d j o# t  i i t  i i t i ƒ d ƒ S|  d j o8 t  i d j o d p d } t  i i t d	 | ƒ ƒ St	 d
 |  ƒ ‚ d S(   s   Get the filename of the distutils, local, global, or per-user config

    `kind` must be one of "local", "global", or "user"
    R   s	   setup.cfgt   globals   distutils.cfgt   usert   posixt   .t    s   ~/%spydistutils.cfgs7   config_file() type must be 'local', 'global', or 'user'N(
   t   ost   patht   joint   dirnamet	   distutilst   __file__t   namet
   expanduserR   t
   ValueError(   t   kindt   dot(    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR   
   s    	c   
   	   C   s´  d d k  l } t i d |  ƒ | ƒ  } | i |  g ƒ x3| i ƒ  D]%\ } } | d j o$ t i d | |  ƒ | i | ƒ qF | i	 | ƒ p$ t i d | |  ƒ | i
 | ƒ n x± | i ƒ  D]£ \ } } | d j o^ t i d | | |  ƒ | i | | ƒ | i | ƒ p$ t i d | |  ƒ | i | ƒ qgqÄ t i d | | | |  ƒ | i | | | ƒ qÄ WqF Wt i d	 |  ƒ | p* t |  d
 ƒ }	 | i |	 ƒ |	 i ƒ  n d S(   sY  Edit a configuration file to include `settings`

    `settings` is a dictionary of dictionaries or ``None`` values, keyed by
    command/section name.  A ``None`` value means to delete the entire section,
    while a dictionary lists settings to be changed or deleted in that section.
    A setting of ``None`` means to delete that setting.
    iÿÿÿÿ(   t   RawConfigParsers   Reading configuration from %ss   Deleting section [%s] from %ss   Adding new section [%s] to %ss   Deleting %s.%s from %ss#   Deleting empty [%s] section from %ss   Setting %s.%s to %r in %ss
   Writing %st   wN(   t   ConfigParserR   R   t   debugt   readt   itemst   Nonet   infot   remove_sectiont   has_sectiont   add_sectiont   remove_optiont   optionst   sett   opent   writet   close(
   t   filenamet   settingst   dry_runR   t   optst   sectionR%   t   optiont   valuet   f(    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR   *   s>    	  		
  c           B   s;   e  Z d  Z d d d g Z d d g Z d
 „  Z d „  Z RS(   s<   Abstract base class for commands that mess with config filess   global-configt   gs0   save options to the site-wide distutils.cfg files   user-configt   us7   save options to the current user's pydistutils.cfg files	   filename=R1   s-   configuration file to use (default=setup.cfg)c         C   s   d  |  _ d  |  _ d  |  _ d  S(   N(   R   t   global_configt   user_configR*   (   t   self(    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyt   initialize_optionsc   s    		c         C   sÀ   g  } |  i  o | i t d ƒ ƒ n |  i o | i t d ƒ ƒ n |  i d  j	 o | i |  i ƒ n | p | i t d ƒ ƒ n t | ƒ d j o t d | ƒ ‚ n | \ |  _ d  S(   NR	   R
   R   i   s/   Must specify only one configuration file option(   R4   t   appendR   R5   R*   R   t   lent   DistutilsOptionError(   R6   t	   filenames(    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyt   finalize_optionsh   s    

(   s   global-configR2   s0   save options to the site-wide distutils.cfg file(   s   user-configR3   s7   save options to the current user's pydistutils.cfg file(   s	   filename=R1   s-   configuration file to use (default=setup.cfg)(   t   __name__t
   __module__t   __doc__t   user_optionst   boolean_optionsR7   R<   (    (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR   S   s      		c           B   sX   e  Z d  Z d Z d d d d g e i Z e i d g Z d „  Z d „  Z d „  Z	 RS(   s#   Save command-line options to a files1   set an option in setup.cfg or another config files   command=t   cs   command to set an option fors   option=t   os   option to sets
   set-value=t   ss   value of the optiont   removet   rs   remove (unset) the valuec         C   s5   t  i |  ƒ d  |  _ d  |  _ d  |  _ d  |  _ d  S(   N(   R   R7   R   t   commandR/   t	   set_valueRE   (   R6   (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR7   Š   s
    			c         C   sl   t  i |  ƒ |  i d  j p |  i d  j o t d ƒ ‚ n |  i d  j o |  i o t d ƒ ‚ n d  S(   Ns%   Must specify --command *and* --options$   Must specify --set-value or --remove(   R   R<   RG   R   R/   R:   RH   RE   (   R6   (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR<   ‘   s
     c         C   s=   t  |  i h h |  i |  i i d d ƒ 6|  i 6|  i ƒ d  S(   Nt   -t   _(   R   R*   RH   R/   t   replaceRG   R,   (   R6   (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyt   run˜   s    	#(   s   command=RB   s   command to set an option for(   s   option=RC   s   option to set(   s
   set-value=RD   s   value of the option(   s   removeRF   s   remove (unset) the value(
   R=   R>   R?   t   descriptionR   R@   RA   R7   R<   RL   (    (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyR   |   s   
		(   R   R   t
   setuptoolsR    t   distutils.utilR   R   t   distutils.errorst   __all__R   t   FalseR   R   R   (    (    (    s=   /usr/lib/python2.6/dist-packages/setuptools/command/setopt.pyt   <module>   s   
 ))