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__/show.cpython-312.pyc
�

��h���ddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZddlm
Z
ddlmZmZddlmZmZddlmZej,e�ZGd	�d
e
�ZGd�de�Zd
eedeeddffd�Zdeedededefd�Zy)�N)�Values)�	Generator�Iterable�Iterator�List�
NamedTuple�Optional)�canonicalize_name)�Command)�ERROR�SUCCESS)�BaseDistribution�get_default_environment)�write_outputc�:�eZdZdZdZdZd
d�Zdedee	de
fd	�Zy)�ShowCommandzx
    Show information about one or more installed packages.

    The output is in RFC-compliant mail header format.
    z$
      %prog [options] <package> ...T�returnNc��|jjdddddd��|jjd|j�y)	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)�selfs �=/usr/lib/python3/dist-packages/pip/_internal/commands/show.py�add_optionszShowCommand.add_optionssE���
�
� � ������J�
	!�	
�	
���'�'��4�=�=�9��options�argsc��|stjd�tS|}t|�}t	||j
|j��stStS)Nz.ERROR: Please provide a package name or names.)�
list_files�verbose)�logger�warningr�search_packages_info�
print_resultsrr'r
)rr#r$�query�resultss     r �runzShowCommand.run&sI����N�N�K�L��L���&�u�-�����
�
�w���
��L��r")rN)�__name__�
__module__�__qualname__�__doc__�usage�ignore_require_venvr!rr�str�intr.�r"r rrs7���
'�E���
:��6���c���s�r"rc���eZdZUeed<eed<eed<eeed<eeed<eeed<eed<eed<eeed	<eed
<eed<eeed<eed
<eed<eed<eeed<eeeed<y)�_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/r0r1r5�__annotations__r	rr7r"r r9r94s���

�I�
�L��M�'��}�,��3�i���c����N����c���
�L��M��s�)���K���
�L��s�)���D��I��r"r9r,rc
#�8�K�t�}|j�D�cic]}|j|��c}�|D�cgc]
}t|���}}t	t||�D��cgc]\}}|�vs�|��c}}�}|r%tjddj|��dtdttf�fd�}|D�]�}	�|}t	d�|j�D�tj��}	t	||�tj��}
	|jd�}|j!d	�
�}|j%�}
|
�d}nt	|
�}|j&}t)d%id|j*�d
t|j,��d|j.xsd�d|j0�d|	�d|
�d|j2�d|j4xsd�d|j7dg��d|j9dd��d|j9dd��d|j7dg��d|j9dd��d|j9d d��d!|j9d"d��d#|�d$|�������ycc}wcc}wcc}}w#t$rY���wxYw#t"$rg}Y��YwxYw�w)&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.
    zPackage(s) not found: %s�, �current_distrc�8����fd��j�D�S)Nc3���K�|]T}�j|j�D�chc]}t|j���c}vr|jdxsd���Vycc}w�w)�Name�UNKNOWNN)�canonical_name�iter_dependenciesr
r:�metadata)�.0�dist�drMs   �r �	<genexpr>zHsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>Zs`�����
���*�*�37�3I�3I�3K�L�a�!�!�&�&�)�L�M�
�M�M�&�!�.�Y�.�
��M�s�"A"�A�!A")�values)rM�	installeds`�r �_get_requiring_packagesz5search_packages_info.<locals>._get_requiring_packagesYs���
�!�(�(�*�
�	
r"c3�4K�|]}|j���y�w)N)r:)rU�reqs  r rXz'search_packages_info.<locals>.<genexpr>gs����H��3�8�8�H�s�)�keyzentry_points.txtF)�keependsNr:r;r<�r=r>r?r@rArB�
ClassifierrC�SummaryrDz	Home-pagerEzProject-URLrF�AuthorrGzAuthor-emailrH�LicenserIrr7)r�iter_all_distributionsrRr
�sorted�zipr(r)�joinrrr5�KeyErrorrS�lower�	read_text�
splitlines�FileNotFoundError�iter_declared_entriesrTr9�raw_namer;r<r=r@rA�get_all�get)r,�envrVr:�query_names�pkg�missingr[�
query_namer>r?�entry_points_textrI�
files_iterrrTrZs                @r r*r*Hs������"�
#�C�7:�7Q�7Q�7S�T�t��$�$�d�*�T�I�7<�=�t�$�T�*�=�K�=��"�5�+�6�O�)�$��#�Y�:N��O��G�����1�4�9�9�W�3E�F�
�.>�
�8�C�=�
�"�)
�
�	��Z�(�D��H�t�/E�/E�/G�H�c�i�i�X���4�T�:��	�	�J��	� $���/A� B��,�7�7��7�G�L��/�/�1�
���)-�E��:�&�E��=�=���
����
�����%�
��]�]�(�b��
�'+�&D�&D�	
�
�
�$�

��n�n�
�"�2�2�8�b��
�!�(�(��r�:�
��L�L��B�/�
��\�\�+�r�2�
�"�)�)�-��<�
��<�<��"�-�
�"���n�b�9�
��L�L��B�/�
� &�!
�"�#
�	
�/)
��!U��=��O�� �	��	��!�	��L�	�sw�J�I(�J�I-�
J�#I2
�0I2
�4AJ�I8�AJ�#J�=D;J�8	J�J�J�J�J�J�J�J�
distributionsr&r'c��d}t|�D�];\}}d}|dkDrtd�td|j�td|j�td|j�td|j
�td	|j�td
|j�td|j�td|j�|j�td
|j�tddj|j��tddj|j��|r�td|j�td|j�td�|j D]}td|��td�|j"D]}td|j%���td�|j&D]}td|��|s���td�|j(�
td���|j(D]}	td|	j%�����>|S)zC
    Print the information from installed distributions found.
    FTrz---zName: %szVersion: %szSummary: %sz
Home-page: %sz
Author: %szAuthor-email: %szLicense: %szLocation: %szEditable project location: %szRequires: %srLzRequired-by: %szMetadata-Version: %sz
Installer: %szClassifiers:z  %sz
Entry-points:z
Project-URLs:zFiles:z+Cannot locate RECORD or installed-files.txt)�	enumeraterr:r;rCrDrFrGrHr<r=rhr>r?rAr@rBrI�striprEr)
ryr&r'�results_printed�irV�
classifier�entry�project_url�lines
          r r+r+�s����O��]�+�&7���4����q�5�����Z����+��]�D�L�L�1��]�D�L�L�1��_�d�m�m�4��\�4�;�;�/��'��):�):�;��]�D�L�L�1��^�T�]�]�3��)�)�5��/��1O�1O�
�	�^�T�Y�Y�t�}�}�%=�>��&��	�	�$�2B�2B�(C�D���/��1F�1F�G���$�.�.�9���(�"�.�.�
1�
��V�Z�0�
1���)��*�*�
4���V�U�[�[�]�3�
4���)�#�0�0�
2���V�[�1�
2����"��z�z�!��J�K� �J�J�7�D� ������6�7�K&7�N�r")�logging�optparser�typingrrrrrr	�pip._vendor.packaging.utilsr
�pip._internal.cli.base_commandr�pip._internal.cli.status_codesrr
�pip._internal.metadatarr�pip._internal.utils.miscr�	getLoggerr/r(rr9r5r*�boolr+r7r"r �<module>r�s�����L�L�9�2�9�L�1�	��	�	�8�	$��"�'�"�J�:��(B
��S�	�B
�i��d�D�8P�.Q�B
�J0��L�)�0��0��0�
�	0r"