Viewing File: /usr/lib/python3.6/site-packages/pip/commands/__pycache__/search.cpython-36.pyc

3

aj@sddlmZddlZddlZddlZddlmZmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZejeZGdddeZ ddZ!dddZ"ddZ#dS))absolute_importN)CommandSUCCESS)OrderedDict)PipXmlrpcTransport)PyPI)get_terminal_size)
indent_log)CommandError)NO_MATCHES_FOUND)parse)
pkg_resources)
xmlrpc_clientcs<eZdZdZdZdZdZfddZddZd	d
Z	Z
S)
SearchCommandz@Search for PyPI packages whose name or summary contains <query>.searchz
      %prog [options] <query>zSearch PyPI for packages.cs@tt|j|||jjddddtjdd|jjd|jdS)Nz-iz--indexindexZURLz3Base URL of Python Package Index (default %default))destmetavardefaulthelpr)	superr__init__Zcmd_optsZ
add_optionrZpypi_urlparserZinsert_option_group)selfargskw)	__class__/usr/lib/python3.6/search.pyrszSearchCommand.__init__cCsT|std|}|j||}t|}d}tjjr<td}t||d|rPtSt	S)Nz)Missing required argument (search query).r)terminal_width)
r
rtransform_hitssysstdoutisattyr
print_resultsrr)roptionsrqueryZ	pypi_hitshitsrrrrrun)s

zSearchCommand.runcCsH|j}|j|.}t||}tj||}|j||dd}|SQRXdS)N)namesummaryor)rZ_build_sessionrrZServerProxyr)rr&r%Z	index_urlZsessionZ	transportZpypir'rrrr9s
zSearchCommand.search)__name__
__module____qualname____doc__r)Zusager*rr(r
__classcell__rr)rrrsrcCst}xv|D]n}|d}|d}|d}||jkrH|||gd||<q||dj||t||dkr|||d<qWt|jS)z
    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*version)r)r*versionsr2)rkeysappendhighest_versionlistvalues)r'Zpackageshitr)r*r1rrrr Bs
r cCsT|sdS|dkr&tdd|Dd}ddtjD}x|D]}|d}|dpVd}|jdd	gd}|dk	r||d}|dkrtj||}d
d|dj|}d|d||f|f}	yvtj|	||kr2tj	|}
t
Ht|d}|
j|krtjd|
jntjd|
jtjd|WdQRXWq>t
k
rJYq>Xq>WdS)NcSs.g|]&}t|dt|jddgdqS)r)r2-)lenget).0r8rrr
<listcomp>csz!print_results.<locals>.<listcomp>cSsg|]
}|jqSr)Zproject_name)r>prrrr?gsr)r*r2r9r:

 z	%-*s - %sz%s (%s)zINSTALLED: %s (latest)z
INSTALLED: %sz
LATEST:    %sr;)maxr
Zworking_setr=textwrapZwrapjoinloggerinfoZget_distributionr	r5r1UnicodeEncodeError)r'Zname_column_widthrZinstalled_packagesr8r)r*r1Ztarget_widthlineZdistZlatestrrrr$^s>


r$cCst|tdS)N)key)rH
parse_version)r2rrrr5sr5)NN)$Z
__future__rZloggingr!rIZpip.basecommandrrZ
pip.compatrZpip.downloadrZ
pip.modelsrZ	pip.utilsrZpip.utils.loggingr	Zpip.exceptionsr
Zpip.status_codesrZpip._vendor.packaging.versionrrPZpip._vendorr
Zpip._vendor.six.movesrZ	getLoggerr,rKrr r$r5rrrr<module>s&
+
&
Back to Directory File Manager