Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc

�

4Μg��	��ddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
mZmZddlmZddlmZddlmZddlmZmZdd	lmZdd
lmZddlmZddl m!Z!dd
l"m#Z#ddl$m%Z%erGd�de�Z&ejNe(�Z)Gd�dee�Z*de
ee+e+fde
dfd�Z,de+de+ddfd�Z-		dde
ddee.dee.ddfd�Z/de
e+de+fd�Z0y)�N)�OrderedDict)�Values)�
TYPE_CHECKING�Dict�List�Optional�	TypedDict)�parse)�Command)�SessionCommandMixin)�NO_MATCHES_FOUND�SUCCESS)�CommandError)�get_default_environment)�PyPI)�PipXmlrpcTransport)�
indent_log)�write_outputc�2�eZdZUeed<eed<eeed<y)�TransformedHit�name�summary�versionsN)�__name__�
__module__�__qualname__�str�__annotations__r���H/usr/local/lib/python3.12/site-packages/pip/_internal/commands/search.pyrrs���	����s�)�r rc	�d�eZdZdZdZdZdd�Zdedee	de
fd	�Zd
ee	dedeee	e	ffd�Z
y)
�
SearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>T�returnNc��|jjddddtjd��|jjd|j�y)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(sI���
�
� � ������M�M�F�
	!�	
�	
���'�'��4�=�=�9r �options�argsc��|std��|}|j||�}t|�}d}tjj�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�hitsr6s       r!�runzSearchCommand.run4sp����J�K�K����K�K��w�/�	��i�(�����:�:����#�5�5�7��:�N��d�>�:���N��r r?c��|j}|j|�}t||�}tjj||�}	|j
||d�d�}t|t�sJ�|S#tjj$r,}d|j�d|j��}	t|	��d}~wwxYw)N)rr�orzXMLRPC request failed [code: z]
)
r&�get_default_sessionr�xmlrpc�client�ServerProxyr7�Fault�	faultCode�faultStringr�
isinstance�list)
r1r?r3�	index_url�session�	transport�pypirA�fault�messages
          r!r7zSearchCommand.searchDs����M�M�	��*�*�7�3��&�y�'�:�	��}�}�(�(��I�>��	(��;�;��%�@�$�G�D��$��%�%�%����
�}�}�"�"�	(�/����/@��E�DU�DU�CV�W�
��w�'�'��		(�s�A4�4B=�'B8�8B=)r$N)rrr�__doc__�usage�ignore_require_venvr2rrr�intrBrr7rr r!r#r#!s`��J�
!�E���
:� �6� ��c�� �s� � �D��I����4��S�#�X��;O�r r#rAr$c��t�}|D]b}|d}|d}|d}||j�vr|||gd�||<�/||dj|�|t||d�k(s�[|||d<�dt	|j��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_versionrM�values)rA�packages�hitrrrYs      r!r8r8Vs���-8�M�H����6�{���i�.���i�.���x�}�}��&��"�$�I��H�T�N�
�T�N�:�&�-�-�g�6��/�(�4�.��*D�E�E�,3����y�)�!�$����!�"�"r r�latestc�R�t�}|j|�}|�~t�5|j|k(rt	d|j�nDt	d|j�t|�jr
t	d|�nt	d|�ddd�yy#1swYyxYw)NzINSTALLED: %s (latest)z
INSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)z
LATEST:    %s)r�get_distributionrrYr�
parse_version�pre)rr`�env�dists    r!�print_dist_installation_inforgrs���
!�
#�C�����%�D���
�\��|�|�v�%��5�t�|�|�D��_�d�l�l�;� ��(�,�,� �5���!��&�9��\��
�\�s�A+B�B&�name_column_widthr6c��|sy|�Nt|D�cgc]6}t|d�tt|jddg���z��8c}�dz}|D]�}|d}|dxsd}t|jddg��}|�=||z
dz
}|dkDr0t	j
||�}d	d
|dzzzj
|�}|�d|�d
�}	|	|��d|��}
	t|
�t||���ycc}w#t$rY��wxYw)Nrr�-�r���
�
� �z (�)z - )
�max�lenr\�get�textwrap�wrap�joinrrg�UnicodeEncodeError)rArhr6r_rrr`�target_width�
summary_lines�name_latest�lines           r!r>r>�sK��
��� �� $��#����F��$�s�?�3�7�7�:�PS�u�;U�+V�'W�W�#��
��

�	����6�{���i�.�&�B�� �����c�U�!;�<���%�)�,=�=��A�L��b� � (�
�
�g�|� D�
��#�):�Q�)>�"?�?�E�E�m�T����b����*���0�1�2�#�g�Y�?��	����(��v�6�����0"�	��	�s�;C.�C3�3	C?�>C?rc�$�t|t��S)N)�key)rsrc)rs r!r\r\�s���x�]�+�+r )NN)1�loggingr<r9rv�
xmlrpc.clientrF�collectionsr�optparser�typingrrrrr	�pip._vendor.packaging.versionr
rc�pip._internal.cli.base_commandr�pip._internal.cli.req_commandr�pip._internal.cli.status_codesr
r�pip._internal.exceptionsr�pip._internal.metadatar�pip._internal.models.indexr�pip._internal.network.xmlrpcr�pip._internal.utils.loggingr�pip._internal.utils.miscrr�	getLoggerr�loggerr#rr8rgrWr>r\rr r!�<module>r�s���
�
���#��A�A�@�2�=�D�1�:�+�;�2�1�����
��	�	�8�	$��2�G�0�2�j#��d�3��8�n�-�#�$�7G�2H�#�8:�s�:�C�:�D�:�*(,�$(�#�
��
 �#���}�#��S�M�#�
�	#�L,�d�3�i�,�C�,r 

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists