HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc
U

�{�e�@s�ddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZmZddlmZe�e�ZGd	d
�d
e
�ZGdd�de�Zeeeeddfd
�dd�Zeeeeed�dd�ZdS)�N)�Values)�	Generator�Iterable�Iterator�List�
NamedTuple�Optional��canonicalize_name)�Command)�ERROR�SUCCESS)�BaseDistribution�get_default_environment)�write_outputc@s<eZdZdZdZdZdd�dd�Zeee	e
d�d	d
�ZdS)�ShowCommandzx
    Show information about one or more installed packages.

    The output is in RFC-compliant mail header format.
    z$
      %prog [options] <package> ...TN)�returncCs,|jjddddddd�|j�d|j�dS)	Nz-fz--files�files�
store_trueFz7Show the full list of installed files for each package.)�dest�action�default�helpr)�cmd_opts�
add_option�parser�insert_option_group)�self�r�?/tmp/pip-unpacked-wheel-_0scjqea/pip/_internal/commands/show.py�add_optionss�	zShowCommand.add_options)�options�argsrcCs8|st�d�tS|}t|�}t||j|jd�s4tStS)Nz.ERROR: Please provide a package name or names.)�
list_files�verbose)�logger�warningr�search_packages_info�
print_resultsrr$r
)rr!r"�query�resultsrrr�run&s
�zShowCommand.run)�__name__�
__module__�__qualname__�__doc__�usage�ignore_require_venvr rr�str�intr+rrrrrs
rc@s�eZdZUeed<eed<eed<eeed<eeed<eeed<eed<eed<eeed	<eed
<eed<eeed<eed
<eed<eed<eeed<eeeed<dS)�_PackageInfo�name�version�location�editable_project_location�requires�required_by�	installer�metadata_version�classifiers�summary�homepage�project_urls�author�author_email�license�entry_pointsrN)r,r-r.r2�__annotations__rrrrrrr44s"
r4)r)rc#s�t�}dd�|��D��dd�|D�}t�fdd�t||�D��}|rXt�dd�|��ttt	d��fd	d
�}|D�]4}z�|}Wnt
k
r�YqtYnXtdd�|��D�t	jd
�}t||�t	jd
�}z|�
d�}	|	jdd�}
Wntk
�rg}
YnX|��}|dk�rd}nt|�}|j}
t|jt	|j�|j�pBd|j|||j|j�pXd|
�dg�|
�dd�|
�dd�|
�dg�|
�dd�|
�dd�|
�dd�|
|d�VqtdS)z�
    Gather details from installed distributions. Print distribution name,
    version, location, and installed files. Installed files requires a
    pip generated 'installed-files.txt' in the distributions '.egg-info'
    directory.
    cSsi|]}|j|�qSr)�canonical_name��.0�distrrr�
<dictcomp>Qsz(search_packages_info.<locals>.<dictcomp>cSsg|]}t|��qSrr	)rHr5rrr�
<listcomp>Rsz(search_packages_info.<locals>.<listcomp>csg|]\}}|�kr|�qSrr)rHr5�pkg��	installedrrrKTszPackage(s) not found: %s�, )�current_distrcs�fdd����D�S)Nc3s4|],}�jdd�|��D�kr|jdp*dVqdS)cSsh|]}t|j��qSr)r
r5)rH�drrr�	<setcomp>^szRsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>.<setcomp>�Name�UNKNOWNN)rF�iter_dependencies�metadatarG�rPrr�	<genexpr>Zs
��zHsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>)�valuesrWrMrWr�_get_requiring_packagesYs
�z5search_packages_info.<locals>._get_requiring_packagescss|]}|jVqdS)N)r5)rH�reqrrrrXgsz'search_packages_info.<locals>.<genexpr>)�keyzentry_points.txtF)�keependsN��
ClassifierZSummaryz	Home-pagezProject-URLZAuthorzAuthor-emailZLicense)r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDr)rZiter_all_distributions�sorted�zipr%r&�joinrrr2�KeyErrorrU�lower�	read_text�
splitlines�FileNotFoundErrorZiter_declared_entriesrVr4Zraw_namer6r7r8r;r<�get_all�get)r)�envZquery_names�missingrZZ
query_namerIr9r:Zentry_points_textrDZ
files_iterrrVrrMrr'HsZ�













�r')�
distributionsr#r$rc
Cs�d}t|�D�]t\}}d}|dkr*td�td|j�td|j�td|j�td|j�td	|j�td
|j�td|j�td|j	�|j
d
k	r�td|j
�tdd�|j��tdd�|j
��|�rDtd|j�td|j�td�|jD]}td|�q�td�|jD]}td|����qtd�|jD]}td|��q2|rtd�|jd
k�rftd�q|jD]}	td|	����qlq|S)zC
    Print the information from installed distributions found.
    FTrz---zName: %szVersion: %szSummary: %sz
Home-page: %sz
Author: %szAuthor-email: %szLicense: %szLocation: %sNzEditable project location: %szRequires: %srOzRequired-by: %szMetadata-Version: %sz
Installer: %szClassifiers:z  %sz
Entry-points:z
Project-URLs:zFiles:z+Cannot locate RECORD or installed-files.txt)�	enumeraterr5r6r>r?rArBrCr7r8rbr9r:r<r;r=rD�stripr@r)
rlr#r$Zresults_printed�irI�
classifier�entry�project_url�linerrrr(�sN
�




r()�logging�optparser�typingrrrrrr�pip._vendor.packaging.utilsr
�pip._internal.cli.base_commandr�pip._internal.cli.status_codesrr
Zpip._internal.metadatarr�pip._internal.utils.miscr�	getLoggerr,r%rr4r2r'�boolr(rrrr�<module>s  
%F�