File: //lib/python3/dist-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc
�
��h� � � � d dl Z d dlmZ d dlmZmZmZmZmZ d dl m
Z
mZ d dlm
Z
d dlmZ d dlmZmZ d dlmZ d d lmZmZmZ d d
lmZ d dlmZ d dlmZ d d
lm Z d dl!m"Z" d dl#m$Z$ e jJ e&� Z' G d� 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 � � e Zd ZdZdZdZdd�Zdedee de
fd �Z dded
ede
e de
e def
d
�Zdedee ddfd�Zy)�IndexCommandz=
Inspect information available from package indexes.
Tz&
%prog versions <package>
�returnNc � � t j | j � | j j t j � � | j j t j
� � | j j t j � � | j j t j � � t j t j | j � }| j j d|� | j j d| 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| j i}t j d� |r|d |vr4t j ddj t |� � � t S |d } || ||dd � t S # t $ r2}t j |j d � t cY d }~S d }~ww xY w)N�versionsztpip index is currently an experimental command. It may be removed/changed in a future release without prior warning.r zNeed an action (%s) to perform.�, � )
�get_available_package_versions�logger�warning�error�join�sortedr
r r. r )r( r- r. �handlers�action�es r* �runzIndexCommand.run0 s� � ���;�;�
�� ���
%�
� �t�A�w�h�.��L�L�1�� � �&��*�+�
� �L��a��� ��H�V��W�d�1�2�h�/�
��� � ��L�L������#��L�� �s �'A<