ó
.żWc           @   sh   d  d l  m Z d  d l m Z d  d l m Z m Z m Z d   Z d e f d     YZ	 d   Z
 d S(	   i˙˙˙˙(   t   DistutilsOptionError(   t   map(   t   edit_configt   option_baset   config_filec         C   sJ   x$ d D] } | |  k r t  |   Sq W|  j   |  g k rF t  |   S|  S(   s4   Quote an argument for later parsing by shlex.split()t   "t   's   \t   #(   R   R   s   \R   (   t   reprt   split(   t   argt   c(    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyt   shquote   s    
t   aliasc           B   sU   e  Z d  Z d Z e Z d g e j Z e j d g Z d   Z	 d   Z
 d   Z RS(	   s3   Define a shortcut that invokes one or more commandss0   define a shortcut to invoke one or more commandst   removet   rs   remove (unset) the aliasc         C   s#   t  j |   d  |  _ d  |  _ d  S(   N(   R   t   initialize_optionst   Nonet   argsR   (   t   self(    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyR      s    	c         C   s>   t  j |   |  j r: t |  j  d k r: t d   n  d  S(   Ni   sF   Must specify exactly one argument (the alias name) when using --remove(   R   t   finalize_optionsR   t   lenR   R    (   R   (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyR   #   s    c         C   s	  |  j  j d  } |  j sN d GHd GHx" | D] } d t | |  f GHq, Wd  St |  j  d k rľ |  j \ } |  j r d  } qá | | k rĽ d t | |  f GHd  Sd | GHd  Sn, |  j d } d j t t	 |  j d   } t
 |  j i i | | 6d 6|  j  d  S(	   Nt   aliasess   Command Aliasess   ---------------s   setup.py aliasi   s    No alias definition found for %ri    t    (   t   distributiont   get_option_dictR   t   format_aliasR   R   R   t   joinR   R   R   t   filenamet   dry_run(   R   R   R   t   command(    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyt   run+   s&    				(   s   removeR   s   remove (unset) the alias(   t   __name__t
   __module__t   __doc__t   descriptiont   Truet   command_consumes_argumentsR   t   user_optionst   boolean_optionsR   R   R   (    (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyR      s   
		c         C   s{   | |  \ } } | t  d  k r+ d } n@ | t  d  k rF d } n% | t  d  k ra d } n
 d | } | |  d | S(	   Nt   globals   --global-config t   users   --user-config t   localt    s   --filename=%rR   (   R   (   t   nameR   t   sourceR   (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyR   F   s    			
N(   t   distutils.errorsR    t   setuptools.extern.six.movesR   t   setuptools.command.setoptR   R   R   R   R   R   (    (    (    s<   /tmp/pip-build-Q3rTTP/setuptools/setuptools/command/alias.pyt   <module>   s
   	
4