HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/pip/_internal/commands/__pycache__/search.cpython-311.pyc
�

�mi���n�ddlmZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZdd	lmZmZdd
lmZddlmZddlmZdd
lmZddl m!Z!ddl"m#Z#ddl$m%Z%Gd�de
��Z&ej'e(��Z)Gd�dee��Z*d)d�Z+d*d�Z,d+d!�Z-		d,d-d%�Z.d.d(�Z/dS)/�)�annotationsN)�OrderedDict)�Values)�	TypedDict)�parse)�Command)�SessionCommandMixin)�NO_MATCHES_FOUND�SUCCESS)�CommandError)�get_default_environment)�BaseDistribution)�PyPI)�PipXmlrpcTransport)�
indent_log)�write_outputc�.�eZdZUded<ded<ded<dS)�TransformedHit�str�name�summary�	list[str]�versionsN)�__name__�
__module__�__qualname__�__annotations__���?D:\Python311\Lib\site-packages\pip/_internal/commands/search.pyrrs0�������
�I�I�I��L�L�L������rrc�2�eZdZdZdZdZdd�Zdd�Zdd�ZdS)�
SearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>T�return�Nonec��|j�ddddtjd���|j�d|j��dS)Nz-iz--index�index�URLz3Base URL of Python Package Index (default %default))�dest�metavar�default�helpr)�cmd_opts�
add_optionr�pypi_url�parser�insert_option_group)�selfs r �add_optionszSearchCommand.add_options*sW���
� � ������M�F�
	!�	
�	
�	
�	
��'�'��4�=�9�9�9�9�9r�optionsr�argsr�intc�&�|std���|}|�||��}t|��}d}tj���rt
j��d}t||���|rtStS)Nz)Missing required argument (search query).r)�terminal_width)r�search�transform_hits�sys�stdout�isatty�shutil�get_terminal_size�
print_resultsrr
)r1r3r4�query�	pypi_hits�hitsr7s       r �runzSearchCommand.run6s����	L��J�K�K�K����K�K��w�/�/�	��i�(�(�����:�����	;�#�5�7�7��:�N��d�>�:�:�:�:��	��N��rr@�list[dict[str, str]]c�|�|j}|�|��}t||��}tj�||��}	|�||d�d��}n=#tjj$r&}d|j�d|j	��}	t|	���d}~wwxYwt|t��sJ�|S)N)rr�orzXMLRPC request failed [code: z]
)
r&�get_default_sessionr�xmlrpc�client�ServerProxyr8�Fault�	faultCode�faultStringr�
isinstance�list)
r1r@r3�	index_url�session�	transport�pypirB�fault�messages
          r r8zSearchCommand.searchFs����M�	��*�*�7�3�3��&�y�'�:�:�	��}�(�(��I�>�>��	(��;�;��%�@�@�$�G�G�D�D���}�"�	(�	(�	(�W���W�W�E�DU�W�W�
��w�'�'�'�����		(����
�$��%�%�%�%�%��s�A(�(B"�<!B�B"N)r#r$)r3rr4rr#r5)r@rr3rr#rD)	rrr�__doc__�usage�ignore_require_venvr2rCr8rrr r"r"#sc������J�J�
!�E���
:�
:�
:�
:� � � � � �����rr"rBrDr#�list[TransformedHit]c�r�t��}|D]�}|d}|d}|d}||���vr|||gd�||<�;||d�|��|t||d��kr|||d<��t	|�����S)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.
    rr�version)rrrr)r�keys�append�highest_versionrO�values)rB�packages�hitrrr[s      r r9r9Xs���+6�-�-�H��4�4���6�{���i�.���i�.���x�}�}���&�	4��"�$�I���H�T�N�N�
�T�N�:�&�-�-�g�6�6�6��/�(�4�.��*D�E�E�E�
4�,3����y�)������!�!�"�"�"r�latestr�dist�BaseDistribution | Noner$c�2�|��t��5|j|krtd|j��nJtd|j��t|��jrtd|��ntd|��ddd��dS#1swxYwYdSdS)NzINSTALLED: %s (latest)z
INSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)z
LATEST:    %s)rr[r�
parse_version�pre)rbrcs  r �print_dist_installation_inforhts����
:�
�\�\�	:�	:��|�v�%�
:��5�t�|�D�D�D�D��_�d�l�;�;�;� ��(�(�,�:� �5������!��&�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:�
:�
:s�A,B
�
B�Brc�H�t��}|�|��S)N)r
�get_distribution)r�envs  r �get_installed_distributionrl�s!��
!�
#�
#�C�����%�%�%r�name_column_width�
int | Noner7c���|sdS|�td�|D����dz}|D]�}|d}|dpd}t|�ddg����}|�A||z
dz
}|d	kr3tj||��}d
d|dzzz�|��}|�d
|�d�}	|	|��d|��}
	t
|
��t|��}t||����#t$rY��wxYwdS)Nc��g|]I}t|d��tt|�ddg������z��JS)rr�-)�lenr^�get)�.0ras  r �
<listcomp>z!print_results.<locals>.<listcomp>�sZ��������F��$�$�s�?�3�7�7�:�PS�u�;U�;U�+V�+V�'W�'W�W���r�rr�rrq��
�
� �z (�)z - )
�maxr^rs�textwrap�wrap�joinrrlrh�UnicodeEncodeError)rBrmr7rarrrb�target_width�
summary_lines�name_latest�linercs            r r?r?�s}��
�����	
����#����
�
��

�	������6�{���i�.�&�B�� �����c�U�!;�!;�<�<���	U�)�,=�=��A�L��b� �
U� (�
�g�|� D� D�
��#�):�Q�)>�"?�?�E�E�m�T�T���*�*��*�*�*���0�?�?�?�g�?�?��	������-�d�3�3�D�(���6�6�6�6��!�	�	�	��D�	����#�s�2.C!�!
C.�-C.rrc�.�t|t���S)N)�key)r~rf)rs r r^r^�s���x�]�+�+�+�+r)rBrDr#rY)rbrrcrdr#r$)rrr#rd)NN)rBrYrmrnr7rnr#r$)rrr#r)0�
__future__r�loggingr=r:r�
xmlrpc.clientrH�collectionsr�optparser�typingr�pip._vendor.packaging.versionrrf�pip._internal.cli.base_commandr�pip._internal.cli.req_commandr	�pip._internal.cli.status_codesr
r�pip._internal.exceptionsr�pip._internal.metadatar
�pip._internal.metadata.baser�pip._internal.models.indexr�pip._internal.network.xmlrpcr�pip._internal.utils.loggingr�pip._internal.utils.miscrr�	getLoggerr�loggerr"r9rhrlr?r^rrr �<module>r�s1��"�"�"�"�"�"�����
�
�
�
�
�
�
�
���������#�#�#�#�#�#�������������@�@�@�@�@�@�2�2�2�2�2�2�=�=�=�=�=�=�D�D�D�D�D�D�D�D�1�1�1�1�1�1�:�:�:�:�:�:�8�8�8�8�8�8�+�+�+�+�+�+�;�;�;�;�;�;�2�2�2�2�2�2�1�1�1�1�1�1������Y����
��	�8�	$�	$��2�2�2�2�2�G�0�2�2�2�j#�#�#�#�8:�:�:�:�"&�&�&�&�%)�!%�$�$�$�$�$�N,�,�,�,�,�,r