HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/site-packages/pip/_internal/commands/__pycache__/index.cpython-310.pyc
o

��i��@s�ddlZddlmZddlmZmZmZmZmZddl	m
Z
mZddlm
Z
ddlmZddlmZmZddlmZdd	lmZmZmZdd
lmZddlmZddlmZdd
lm Z ddl!m"Z"ddl#m$Z$e�%e&�Z'Gdd�de�Z(dS)�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@s�eZdZdZdZdZddd�Zded	ee	de
fd
d�Z		ddeded
e
ede
edef
dd�Zded	eeddfdd�ZdS)�IndexCommandz=
    Inspect information available from package indexes.
    Tz&
        %prog versions <package>
    �returnNcCs~t�|j�|j�t���|j�t���|j�t���|j�t���t�tj	|j
�}|j
�d|�|j
�d|j�dS)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_opts�r'�G/usr/local/lib/python3.10/site-packages/pip/_internal/commands/index.py�add_options s�zIndexCommand.add_options�options�argsc
Cs�d|ji}t�d�|r|d|vrt�dd�t|���tS|d}z||||dd��Wt	StyM}zt�|jd�tWYd}~Sd}~ww)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�er'r'r(�run0s(������zIndexCommand.run�session�
target_pythonrcCs.tj||d�}td|j|d�}tj|||d�S)zK
        Create a package finder appropriate to the index command.
        )r*F)�allow_yanked�allow_all_prereleasesr)�link_collector�selection_prefsr:)r�createrrr)r%r*r9r:rr=r>r'r'r(�_build_package_finderNs
��z"IndexCommand._build_package_finderc
Cs�t|�dkr
td��t�|�}|d}|�|��B}|j||||jd�}dd�|�|�D�}|js7dd�|D�}t	|�}|sDt
d�|���d	d
�t|dd�D�}|d}	Wd�n1s]wYt
d
�||	��t
d�d�|���t||	�dS)Nr.z(You need to specify exactly one argumentr)r*r9r:rcss�|]}|jVqdS�N)�version)�.0�	candidater'r'r(�	<genexpr>vs�
�z>IndexCommand.get_available_package_versions.<locals>.<genexpr>css�|]}|js|VqdSrA)�
is_prerelease)rCrBr'r'r(rE|s��
�z%No matching distribution found for {}cSsg|]}t|��qSr')�str)rC�verr'r'r(�
<listcomp>�sz?IndexCommand.get_available_package_versions.<locals>.<listcomp>T)�reversez{} ({})zAvailable versions: {}r-)�lenrr
�make_target_python�_build_sessionr@r�find_all_candidatesr�setr�formatr4rr3r)
r%r*r+r:�queryr9�finderr,Zformatted_versionsZlatestr'r'r(r/gs:
����
�z+IndexCommand.get_available_package_versions)rN)NN)�__name__�
__module__�__qualname__�__doc__�ignore_require_venv�usager)rrrG�intr8rrr�boolrr@rr/r'r'r'r(rs(
"�����
�r))�logging�optparser�typingrrrrrZpip._vendor.packaging.versionrr	Zpip._internal.clir
�pip._internal.cli.req_commandr�pip._internal.cli.status_codesrr
Zpip._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�	getLoggerrSr0rr'r'r'r(�<module>s"