ó
€
\c           @   s5  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m	 Z	 d  d l
 m Z m Z d  d l m Z m Z m Z m Z d  d l m Z d  d l m Z m Z m Z d Z d	 „  Z d
 „  Z d d „ Z d „  Z d e f d „  ƒ  YZ e  d k r1e ƒ  Z! e! r1e j! e! ƒ q1n  d S(   iÿÿÿÿN(   t   InstallationErrort   CommandErrort   PipError(   t   logger(   t   get_installed_distributionst   get_prog(   t   gitt	   mercurialt
   subversiont   bazaar(   t   create_main_parser(   t   commandst   get_similar_commandst   get_summariess   1.3c          C   s¬  d t  j k r d St  j d j ƒ  d }  t t  j d ƒ } y |  | d } Wn t k
 rh d } n Xg  t ƒ  D] \ } } | ^ qs } g  } y- g  |  D] } | | k r› | ^ q› d } Wn t k
 r× d } n Xt ƒ  }	 | rÖ| d k rt j	 d ƒ n  | d	 k r²| j
 d
 ƒ r²g  }
 | j ƒ  } xO t d t ƒ D]> } | j j
 | ƒ rA| j |  d k rA|
 j | j ƒ qAqAW|
 r²x |
 D] } | GHqWt j	 d ƒ q²n  t | |	 ƒ } | g  | j j D]- } | j t j k rÒ| j ƒ  | j f ^ qÒ7} g  |  d | d !D] } | j d ƒ d ^ q} g  | D]$ \ } } | | k r>| | f ^ q>} g  | D]' \ } } | j
 | ƒ ro| | f ^ qo} xü | D], } | d } | d rÊ| d 7} n  | GHq£WnÅ | j
 d
 ƒ sô| j
 d ƒ rkg  |	 j D] } | j ^ qþ} | j |	 j ƒ d „  | Dƒ } | g  | D]$ } | j t j k r=| j ƒ  ^ q=7} n  d j g  | D] } | j
 | ƒ rx| ^ qxƒ GHt j	 d ƒ d S(   s½   Command and option completion for the main option parser (and options)
    and its subcommands (and options).

    Enable by sourcing one of the completion shell scripts (bash or zsh).
    t   PIP_AUTO_COMPLETENt
   COMP_WORDSi   t
   COMP_CWORDt    i    t   helpt	   uninstallt   -t
   local_onlyt   =s   --c         s   s"   |  ] } | D] } | Vq q d  S(   N(    (   t   .0t   itt   o(    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pys	   <genexpr>T   s    t    (   t   ost   environt   splitt   intt
   IndexErrorR   t   NoneR
   t   syst   exitt
   startswitht   lowerR   t   Truet   keyt   appendR   t   parsert   option_list_allR   t   optparset   SUPPRESS_HELPt   get_opt_stringt   nargst   option_groupst   option_listt   join(   t   cwordst   cwordt   currentt   cmdt   summaryt   subcommandst   optionst   wt   subcommand_nameR(   t	   installedt   lct   distt
   subcommandt   optt   xt	   prev_optst   vt   kt   optiont	   opt_labelt   it   opts(    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt   autocomplete   s`    
"-
	%	.114

(0c   
      C   s€  t  ƒ  } t | _ t ƒ  } d g g  | D] \ } } d | | f ^ q( } d j | ƒ | _ | j |  ƒ \ } }  | j r® t j	 j
 | j ƒ t j	 j
 t j ƒ t j ƒ  n  |  s× |  d d k rî t |  ƒ d k rî | j ƒ  t j ƒ  n  |  s	d } t | ƒ ‚ n  |  d j ƒ  } | t k rpt | ƒ }	 d | g } |	 rX| j d	 |	 ƒ n  t d
 j | ƒ ƒ ‚ n  | | |  | f S(   NR   s   %-27s %ss   
i    R   i   sD   You must give a command (use "pip --help" to see a list of commands)s   unknown command "%s"s   maybe you meant "%s"s    - (   R
   R%   t   mainR   R0   t   descriptiont
   parse_argst   versionR!   t   stdoutt   writeR   t   linesepR"   t   lent
   print_helpR   R$   R   R   R'   (
   t   argsR(   t   command_summariesRE   t   jRI   R7   t   msgt   commandt   guess(    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt	   parseopts]   s0    			0	)
c         C   s»   |  d  k r t j d }  n  t ƒ  y t |  ƒ \ } } } } WnU t k
 r– t j ƒ  d } t j j d | ƒ t j j t	 j
 ƒ t j d ƒ n Xt | | ƒ } | j | d | ƒ S(   Ni   s	   ERROR: %s(   R    R!   t   argvRG   RW   R   t   exc_infot   stderrRM   R   RN   R"   R   RH   (   t   initial_argst   cmd_nameR7   RQ   R(   t   eRU   (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyRH   †   s    c           C   s   t  d d d g ƒ S(   sI   
    Bootstrapping function to be called from install-pip.py script.
    t   installs	   --upgradet   pip(   RH   (    (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt	   bootstrap˜   s    t   FrozenRequirementc           B   s\   e  Z d d  „ Z e j d ƒ Z e j d ƒ Z e e d „ ƒ Z	 e
 d „  ƒ Z d „  Z RS(   c         C   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   namet   reqt   editablet   comments(   t   selfRb   Rc   Rd   Re   (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt   __init__¤   s    			s   -r(\d+)$s   -(20\d\d\d\d\d\d)$c         C   s5  t  j j t  j j | j ƒ ƒ } g  } d d l m } m } | j | ƒ rå t	 } y | | | | ƒ }	 Wn8 t
 k
 r¢ t j ƒ  d }
 t j d |
 ƒ d  }	 n X|	 d  k rt j d | ƒ | j d ƒ | j ƒ  }	 t } qn:t } | j ƒ  }	 |	 j } t | ƒ d k r&| d d d k s,t ‚ | d d } |  j j | ƒ } |  j j | ƒ } | sj| r| j d	 ƒ } | r—| ƒ  j | | ƒ } n  | s¾t j d
 |	 ƒ | j d ƒ q| j d |	 ƒ | rç| j d ƒ } n d | j d ƒ } t	 } d | | |  j | ƒ f }	 n  |  | j |	 | | ƒ S(   Niÿÿÿÿ(   t   vcst   get_src_requirementi   sY   Error when trying to get requirement for VCS system %s, falling back to uneditable formats-   Could not determine repository location of %ss-   ## !! Could not determine repository locationi    s   ==t   svns(   Warning: cannot find svn location for %ssF   ## FIXME: could not find svn URL in dependency_links for this package:s3   # Installing as editable to satisfy requirement %s:s   {%s}s   %s@%s#egg=%s(   R   t   patht   normcaset   abspatht   locationt   pip.vcsRh   Ri   t   get_backend_nameR%   R    R!   RY   R   t   warnR    R'   t   as_requirementt   Falset   specsRO   t   AssertionErrort   _rev_ret   searcht   _date_ret   get_backendt   get_locationt   groupt   egg_namet   project_name(   t   clsR<   t   dependency_linkst	   find_tagsRn   Re   Rh   Ri   Rd   Rc   t   exRt   RK   t	   ver_matcht
   date_matcht   svn_backendt   svn_locationt   rev(    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt	   from_dist­   sN    !
	,	c         C   s;   |  j  ƒ  } t j d | ƒ } | r7 | | j ƒ   } n  | S(   Ns
   -py\d\.\d$(   R|   t   reRw   t   start(   R<   Rb   t   match(    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyR|   Ú   s
    c         C   sF   |  j  } |  j r d | } n  d j t |  j ƒ t | ƒ g ƒ d S(   Ns   -e %ss   
(   Rc   Rd   R0   t   listRe   t   str(   Rf   Rc   (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt   __str__â   s    		(    (   t   __name__t
   __module__Rg   Rˆ   t   compileRv   Rx   t   classmethodRs   R‡   t   staticmethodR|   R   (    (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyRa   ¢   s   ,t   __main__("   R   R*   R!   Rˆ   t   pip.exceptionsR    R   R   t   pip.logR   t   pip.utilR   R   Ro   R   R   R   R	   t   pip.baseparserR
   t   pip.commandsR   R   R   t   __version__RG   RW   R    RH   R`   t   objectRa   RŽ   R"   (    (    (    sS   /data/av2000/b2b/venv/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/__init__.pyt   <module>   s&   "	I	)	
G	