ó
^\kdc           @   sY  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 m Z d  d l m Z m Z m Z d  d l Z e j Z d Z d	 „  Z d
 „  Z d „  Z d d „ Z! d „  Z" d e# f d „  ƒ  YZ$ e% d k rUe! ƒ  Z& e& rUe j& e& ƒ qUn  d S(   iÿÿÿÿN(   t   InstallationErrort   CommandErrort   PipError(   t   logger(   t   get_installed_distributionst   get_prog(   t   gitt	   mercurialt
   subversiont   bazaar(   t   ConfigOptionParsert   UpdatingDefaultsHelpFormatter(   t   commandst   get_summariest   get_similar_commandss   1.5.4c          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
 | ƒ rl| | f ^ ql} xü | D], } | d } | d rÇ| d 7} n  | GHq WnÅ | j
 d
 ƒ sñ| j
 d ƒ rh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
 | ƒ ru| ^ quƒ 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(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pys	   <genexpr>Y   s    t    (   t   ost   environt   splitt   intt
   IndexErrorR   t   Nonet   create_main_parsert   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(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyt   autocomplete   s`    
"-
	%	.114

(0c          C   s  i d d 6t  d 6t ƒ  d 6d d 6t ƒ  d 6}  t |  �  } | j ƒ  t j j t j j t j j t	 ƒ ƒ ƒ } d t
 | t j d	  f | _ t j t j | ƒ } | j | ƒ t | _ t ƒ  } d
 g g  | D] \ } } d | | f ^ qÍ } d j | ƒ | _ | S(   Ns   
%prog <command> [options]t   usaget   add_help_optiont	   formattert   globalt   namet   progs   pip %s from %s (python %s)i   R   s   %-27s %ss   
(   t   FalseR   R   R
   t   disable_interspersed_argsR   t   patht   dirnamet   abspatht   __file__t   __version__R#   t   versiont
   cmdoptionst   make_option_groupt   general_groupt   add_option_groupR'   t   mainR   R2   t   description(   t	   parser_kwR*   t   pip_pkg_dirt   gen_optst   command_summariesRG   t   jR]   (    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyR"   b   s$    

*		0c         C   s)  t  ƒ  } | j |  ƒ \ } } | j rZ 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  | d j ƒ  } |  } | j | d j ƒ  ƒ | t k rt | ƒ } d | g } | r| j d | ƒ n  t d j | ƒ ƒ ‚ n  | | f S(   Ni    R   i   s   unknown command "%s"s   maybe you meant "%s"s    - (   R"   t
   parse_argsRW   R#   t   stdoutt   writeR   t   linesepR$   t   lent
   print_helpR&   t   removeR   R   R)   R   R2   (   t   argsR*   t   general_optionst	   args_elset   cmd_namet   cmd_argst   guesst   msg(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyt	   parseopts€   s&    			)
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 | ƒ S(   Ni   s	   ERROR: %s(   R!   R#   t   argvRI   Rq   R   t   exc_infot   stderrRe   R   Rf   R$   R   R\   (   t   initial_argsRm   Rn   t   et   command(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyR\   ª   s    c          C   sY   d g }  y d d l  } Wn t k
 r9 |  j d ƒ n Xt d d g |  t j d ƒ S(   sI   
    Bootstrapping function to be called from install-pip.py script.
    t   pipiÿÿÿÿNt
   setuptoolst   installs	   --upgradei   (   Ry   t   ImportErrorR)   R\   R#   Rr   (   t   pkgsRy   (    (    s3   /var/www/testScraper/venv/build/pip/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(   RN   t   reqt   editablet   comments(   t   selfRN   R   R€   R�   (    (    s3   /var/www/testScraper/venv/build/pip/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   RR   t   normcaseRT   t   locationt   pip.vcsR„   R…   t   get_backend_nameR'   R    R#   Rs   R   t   warnR!   R)   t   as_requirementRP   t   specsRg   t   AssertionErrort   _rev_ret   searcht   _date_ret   get_backendt   get_locationt   groupt   egg_namet   project_name(   t   clsR>   t   dependency_linkst	   find_tagsRˆ   R�   R„   R…   R€   R   t   exR�   RW   t	   ver_matcht
   date_matcht   svn_backendt   svn_locationt   rev(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyt	   from_distÖ   sN    !
	,	c         C   s;   |  j  ƒ  } t j d | ƒ } | r7 | | j ƒ   } n  | S(   Ns
   -py\d\.\d$(   R•   t   reR�   t   start(   R>   RN   t   match(    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyR•     s
    c         C   sF   |  j  } |  j r d | } n  d j t |  j ƒ t | ƒ g ƒ d S(   Ns   -e %ss   
(   R   R€   R2   t   listR�   t   str(   R‚   R   (    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyt   __str__  s    		(    (   t   __name__t
   __module__Rƒ   R¡   t   compileR�   R‘   t   classmethodRP   R    t   staticmethodR•   R¦   (    (    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyR~   Ë   s   ,t   __main__('   R   R,   R#   R¡   t   pip.exceptionsR    R   R   t   pip.logR   t   pip.utilR   R   R‰   R   R   R   R	   t   pip.baseparserR
   R   t   pip.commandsR   R   R   t   pip.cmdoptionsRx   RX   RV   RI   R"   Rq   R!   R\   R}   t   objectR~   R§   R$   (    (    (    s3   /var/www/testScraper/venv/build/pip/pip/__init__.pyt   <module>   s,   "		I		*	G	