Ñò
•èRc           @   sü   d  d k  Z  d  d k Z d  d k Z d  d k Z d  d k l Z l Z d  d k l	 Z	 d  d k
 l Z d  d k l Z l Z l Z d  d k l Z d  d k l Z d  d k l Z l Z d	 e f d
 „  ƒ  YZ d „  Z d d d „ Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   Commandt   SUCCESS(   t   get_terminal_size(   t   logger(   t	   xmlrpclibt   reducet   cmp(   t   CommandError(   t   NO_MATCHES_FOUND(   t   StrictVersiont   LooseVersiont   SearchCommandc           B   s;   e  Z d  Z d Z d Z d Z d „  Z d „  Z d „  Z RS(   s@   Search for PyPI packages whose name or summary contains <query>.t   searchs   
      %prog [options] <query>s   Search PyPI for packages.c      
   O   s[   t  t |  ƒ i | | Ž  |  i i d d d d d d d d d	 ƒ|  i i d
 |  i ƒ d  S(   Ns   --indext   destt   indext   metavart   URLt   defaults   https://pypi.python.org/pypit   helps3   Base URL of Python Package Index (default %default)i    (   t   superR   t   __init__t   cmd_optst
   add_optiont   parsert   insert_option_group(   t   selft   argst   kw(    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR      s    	c         C   s‹   | p t  d ƒ ‚ n | } | i } |  i | | ƒ } t | ƒ } d  } t i i ƒ  o t ƒ  d } n t	 | d | ƒ| o t
 St S(   Ns)   Missing required argument (search query).i    t   terminal_width(   R   R   R   t   transform_hitst   Nonet   syst   stdoutt   isattyR   t   print_resultsR   R   (   R   t   optionsR   t   queryt	   index_urlt	   pypi_hitst   hitsR   (    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyt   run    s    	c         C   s3   t  i | ƒ } | i h | d 6| d 6d ƒ } | S(   Nt   namet   summaryt   or(   R   t   ServerProxyR   (   R   R$   R%   t   pypiR'   (    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR   2   s     (	   t   __name__t
   __module__t   __doc__R)   t   usageR*   R   R(   R   (    (    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR      s   		c         C   s  h  } xÝ |  D]Õ } | d } | d } | d } | d } | d j o
 d } n | | i ƒ  j o- h | d 6| d 6| g d 6| d 6| | <q | | d i | ƒ | t | | d ƒ j o  | | | d <| | | d <q q Wt | i ƒ  d d	 „  d
 t ƒ} | S(   s¼   
    The list from pypi is really a list of versions. We want a list of
    packages with the list of versions stored inline. This converts the
    list from pypi into one we can use.
    R)   R*   t   versiont   _pypi_orderingi    t   versionst   scoret   keyc         S   s   |  d  S(   R5   (    (   t   x(    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyt   <lambda>R   s    t   reverseN(   R   t   keyst   appendt   highest_versiont   sortedt   valuest   True(   R'   t   packagest   hitR)   R*   R2   R5   t   package_list(    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR   8   s"     




-!i   c         C   s€  g  } t  i D] } | | i q ~ } xR|  D]J} | d } | d p d } | d  j	 o9 t i | | | d ƒ } d d | d i | ƒ } n d | i | ƒ | f }	 y´ t i	 |	 ƒ | | j o– t  i
 | ƒ }
 t i d	 7_ za t | d
 ƒ } |
 i | j o t i	 d |
 i ƒ n& t i	 d |
 i ƒ t i	 d | ƒ Wd  t i d	 8_ Xn Wq. t j
 o q. Xq. Wd  S(   NR)   R*   t    i   s   
t    i   s   %s - %si   R4   s   INSTALLED: %s (latest)s   INSTALLED: %ss   LATEST:    %s(   t   pkg_resourcest   working_sett   project_nameR   t   textwrapt   wrapt   joint   ljustR   t   notifyt   get_distributiont   indentR<   R2   t   UnicodeEncodeError(   R'   t   name_column_widthR   t   _[1]t   pt   installed_packagesRA   R)   R*   t   linet   distt   latest(    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR"   V   s.    ' 
c         C   sÈ   y t  t |  ƒ t | ƒ ƒ SWn t j
 o n Xy t  t |  ƒ t | ƒ ƒ SWnq t j
 oe t  g  } t |  ƒ i D] } | t | ƒ qx ~ g  } t | ƒ i D] } | t | ƒ q¥ ~ ƒ SXd  S(   N(   R   R	   t
   ValueErrorR
   t	   TypeErrorR2   t   str(   t   version1t   version2RQ   t   vt   _[2](    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyt   compare_versionsr   s    0c         C   s   t  d „  |  ƒ S(   Nc         S   s!   t  |  | ƒ d  j o |  p | S(   i   (   R^   (   t   v1t   v2(    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR8   ‚   s    (   R   (   R4   (    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyR<      s    (   R   RH   RE   t   pip.downloadt   pipt   pip.basecommandR    R   t   pip.utilR   t   pip.logR   t   pip.backwardcompatR   R   R   t   pip.exceptionsR   t   pip.status_codesR   t   distutils.versionR	   R
   R   R   R   R"   R^   R<   (    (    (    sO   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/commands/search.pyt   <module>   s   *		