HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-87-generic #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc
�

��h����ddlZddlmZddlmZmZmZmZmZddl	m
Z
mZddlm
Z
ddlmZddlmZmZddlmZdd	lmZmZmZdd
lmZddlmZddlmZdd
lm Z ddl!m"Z"ddl#m$Z$ejJe&�Z'Gd�de�Z(y)�N)�Values)�Any�Iterable�List�Optional�Union)�
LegacyVersion�Version)�
cmdoptions)�IndexGroupCommand)�ERROR�SUCCESS)�print_dist_installation_info)�CommandError�DistributionNotFound�PipError)�
LinkCollector)�
PackageFinder)�SelectionPreferences)�TargetPython)�
PipSession)�write_outputc��eZdZdZdZdZdd�Zdedee	de
fd	�Z		dded
ede
ede
edef
d
�Zdedeeddfd�Zy)�IndexCommandz=
    Inspect information available from package indexes.
    Tz&
        %prog versions <package>
    �returnNc��tj|j�|jjtj��|jjtj
��|jjtj��|jjtj��tjtj|j�}|jjd|�|jjd|j�y)Nr)r�add_target_python_options�cmd_opts�
add_option�ignore_requires_python�pre�	no_binary�only_binary�make_option_group�index_group�parser�insert_option_group)�self�
index_optss  �>/usr/lib/python3/dist-packages/pip/_internal/commands/index.py�add_optionszIndexCommand.add_options s����,�,�T�]�]�;��
�
� � ��!B�!B�!D�E��
�
� � ����!1�2��
�
� � ��!5�!5�!7�8��
�
� � ��!7�!7�!9�:��1�1��"�"��K�K�
�
�
	
���'�'��:�6����'�'��4�=�=�9��options�argsc�t�d|ji}tjd�|r|d|vr4tjddj	t|���tS|d}	||||dd�tS#t$r2}tj|jd�tcYd}~Sd}~wwxYw)N�versionsztpip index is currently an experimental command. It may be removed/changed in a future release without prior warning.rzNeed an action (%s) to perform.�, �)
�get_available_package_versions�logger�warning�error�join�sortedr
rr.r)r(r-r.�handlers�action�es      r*�runzIndexCommand.run0s�����;�;�
��	���
%�	
��t�A�w�h�.��L�L�1��	�	�&��*�+�
��L��a���	��H�V��W�d�1�2�h�/�
���	�	��L�L������#��L��	�s�'A<�<	B7�'B2�,B7�2B7�session�
target_pythonr c��tj||��}td|j|��}t	j|||��S)zK
        Create a package finder appropriate to the index command.
        )r-F)�allow_yanked�allow_all_prereleasesr )�link_collector�selection_prefsr>)r�createrr!r)r(r-r=r>r rBrCs       r*�_build_package_finderz"IndexCommand._build_package_finderNsM��'�-�-�g�w�G��/��")�+�+�#9�
���#�#�)�+�'�
�	
r,c�j�t|�dk7rtd��tj|�}|d}|j	|�5}|j||||j��}d�|j|�D�}|js	d�|D�}t|�}|std|����t|d�	�D�cgc]
}t|���}	}|	d}
ddd�t|�d

�d��tdjd
j	���t!||
�ycc}w#1swY�UxYw)Nr2z(You need to specify exactly one argumentr)r-r=r>r c3�4K�|]}|j���y�w�N)�version)�.0�	candidates  r*�	<genexpr>z>IndexCommand.get_available_package_versions.<locals>.<genexpr>vs����A�&/�	�!�!�A�s�c3�:K�|]}|jr�|���y�wrH)�
is_prerelease)rJrIs  r*rLz>IndexCommand.get_available_package_versions.<locals>.<genexpr>|s����� '�7�;P�;P�G��s��z#No matching distribution found for T)�reversez (�)zAvailable versions: {}r1)�lenrr�make_target_python�_build_sessionrEr �find_all_candidatesr!�setrr8�strr�formatr7r)r(r-r.r>�queryr=�finderr0�ver�formatted_versions�latests           r*r3z+IndexCommand.get_available_package_versionsgsG���t�9��>��I�J�J�"�5�5�g�>�
��Q���
�
 �
 ��
)�	+�W��/�/���+�'.�'E�'E�	0��F�A�39�3M�3M�e�3T�A�H��;�;��+3����8�}�H��*�9�%��A���7=�X�t�6T�!U�s�#�c�(�!U��!U�'��*�F�3	+�6	��w�b����*�+��-�4�4�T�Y�Y�?Q�5R�S�T�$�U�F�3��"V�1	+�	+�s�A7D)�<D$�D)�$D)�)D2)rN)NN)�__name__�
__module__�__qualname__�__doc__�ignore_require_venv�usager+rrrV�intr<rrr�boolrrErr3�r,r*rrs������
�E�:� �6���c���s��D15�15�
��
��
� ��-�	
�
!)���
�
�

�2$4�f�$4�D��I�$4�RV�$4r,r))�logging�optparser�typingrrrrr�pip._vendor.packaging.versionr	r
�pip._internal.clir�pip._internal.cli.req_commandr�pip._internal.cli.status_codesr
r�pip._internal.commands.searchr�pip._internal.exceptionsrrr�pip._internal.index.collectorr�"pip._internal.index.package_finderr�$pip._internal.models.selection_prefsr�"pip._internal.models.target_pythonr�pip._internal.network.sessionr�pip._internal.utils.miscr�	getLoggerr]r4rrer,r*�<module>rvsY����7�7�@�(�;�9�F�Q�Q�7�<�E�;�4�1�	��	�	�8�	$��u4�$�u4r,