shell bypass 403
U
��.eB
� @ s� d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ d d lmZ d d
lmZ er�d dlmZmZ d dlmZ e�e�Zd
d� Zdd� Zdd� ZG dd� de�Z dS )� )�absolute_importN)�
cmdoptions)�Command)�make_target_python)�SUCCESS)�
indent_log)�get_pip_version)�MYPY_CHECK_RUNNING)�
format_tag)�Any�List)�Valuesc C s t �d�| |�� d S )Nz{}: {})�logger�info�format)�name�value� r �@/usr/lib/python3.8/site-packages/pip/_internal/commands/debug.py�
show_value s r c C sF t �d� ttd�r"tj} | j}nd}t� � td|� W 5 Q R X d S )Nzsys.implementation:�implementation� r )r r �hasattr�sysr r r r )r Zimplementation_namer r r �show_sys_implementation s
r c C s� d}t | �}|�� }|�� }d}|r.d�|�}d�t|�|�}t�|� | jdk rpt|�|krpd}|d |� }nd}t� �8 |D ]}t�t |�� q�|r�dj|d �}t�|� W 5 Q R X d S )
N�
r z
(target: {})zCompatible tags: {}{}� TFz?...
[First {tag_limit} tags shown. Pass --verbose to show all.])� tag_limit)
r Zget_tagsZformat_givenr �lenr r �verboser r
) �optionsr Z
target_pythonZtagsZformatted_target�suffix�msgZtags_limited�tagr r r � show_tags, s,
��r$ c s0 e Zd ZdZdZdZ� fdd�Zdd� Z� ZS )�DebugCommandz$
Display debug information.
z
%prog <options>Tc s4 t t| �j||� | j}t�|� | j�d|� d S )Nr )�superr% �__init__�cmd_optsr Zadd_target_python_options�parserZinsert_option_group)�self�args�kwr( �� __class__r r r'