<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    š•ReT  ã               @   sÈ   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d d	lmZ er˜d d
lmZ d dlmZmZmZ e e¡ZG dd„ deƒZdd„ Zddd„ZdS )é    )Úabsolute_importN)Ú
FeedParser)Úpkg_resources)Úcanonicalize_name)ÚCommand)ÚERRORÚSUCCESS)Úwrite_output)ÚMYPY_CHECK_RUNNING)ÚValues)ÚListÚDictÚIteratorc               @   s(   e Zd ZdZdZdZdd„ Zdd„ ZdS )	ÚShowCommandzx
    Show information about one or more installed packages.

    The output is in RFC-compliant mail header format.
    z$
      %prog [options] <package> ...Tc             C   s,   | j jddddddd | j d| j ¡ d S )	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   úŠ/builddir/build/BUILDROOT/alt-python37-pip-20.2.4-6.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/pip/_internal/commands/show.pyÚadd_options!   s    zShowCommand.add_optionsc             C   s8   |st  d¡ tS |}t|ƒ}t||j|jds4tS tS )Nz.ERROR: Please provide a package name or names.)Ú
list_filesÚverbose)ÚloggerÚwarningr   Úsearch_packages_infoÚprint_resultsr   r   r   )r   ÚoptionsÚargsÚqueryÚresultsr   r   r   Úrun,   s    
zShowCommand.runN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚusageÚignore_require_venvr   r(   r   r   r   r   r      s
   r   c             #   sf  i ‰xt jD ]}|ˆt|jƒ< qW dd„ | D ƒ}t‡fdd„t| |ƒD ƒƒ}|rbt dd |¡¡ dd„ }xô‡fdd„|D ƒD ]Ü‰ ˆ jˆ j	ˆ j
d	d„ ˆ  ¡ D ƒ|ˆ jƒd
œ}d}d}tˆ t jƒr&ˆ  d¡rˆ  d¡}dd„ |D ƒ}	‡ fdd„|	D ƒ}	‡ fdd„|	D ƒ}ˆ  d¡rvˆ  d¡}nPˆ  d¡r`ˆ  d¡}	‡ fdd„|	D ƒ}	‡ fdd„|	D ƒ}ˆ  d¡rvˆ  d¡}ˆ  d¡r”ˆ  d¡}
|
|d< ˆ  d¡rÎx,ˆ  d¡D ]}| ¡ r¬| ¡ |d< P q¬W tƒ }| |¡ | ¡ }xdD ]}| |¡||< qìW g }x4| ¡ D ](}| d¡r| |tdƒd… ¡ qW ||d< |rXt|ƒ|d< |V  q€W dS )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.
    c             S   s   g | ]}t |ƒ‘qS r   )r   )Ú.0Únamer   r   r   ú
<listcomp>F   s    z(search_packages_info.<locals>.<listcomp>c                s   g | ]\}}|ˆ kr|‘qS r   r   )r/   r0   Úpkg)Ú	installedr   r   r1   H   s    zPackage(s) not found: %sz, c                s   t | ƒ‰ ‡ fdd„tjD ƒS )Nc                s(   g | ] }ˆ d d„ |  ¡ D ƒkr|j‘qS )c             S   s   g | ]}t |jƒ‘qS r   )r   r0   )r/   Úrequiredr   r   r   r1   S   s    zSsearch_packages_info.<locals>.get_requiring_packages.<locals>.<listcomp>.<listcomp>)ÚrequiresÚproject_name)r/   r2   )Úcanonical_namer   r   r1   Q   s    zHsearch_packages_info.<locals>.get_requiring_packages.<locals>.<listcomp>)r   r   Úworking_set)Úpackage_namer   )r7   r   Úget_requiring_packagesM   s    z4search_packages_info.<locals>.get_requiring_packagesc                s   g | ]}|ˆ krˆ | ‘qS r   r   )r/   r2   )r3   r   r   r1   W   s    c             S   s   g | ]
}|j ‘qS r   )r6   )r/   Údepr   r   r   r1   \   s    )r0   ÚversionÚlocationr5   Úrequired_byNÚ ÚRECORDc             S   s   g | ]}|  d ¡d ‘qS )ú,r   )Úsplit)r/   Úliner   r   r   r1   e   s    c                s   g | ]}t j ˆ j|¡‘qS r   )ÚosÚpathÚjoinr=   )r/   Úp)Údistr   r   r1   f   s    c                s   g | ]}t j |ˆ j¡‘qS r   )rD   rE   Úrelpathr=   )r/   rG   )rH   r   r   r1   g   s    ÚMETADATAzinstalled-files.txtc                s   g | ]}t j ˆ j|¡‘qS r   )rD   rE   rF   Úegg_info)r/   rG   )rH   r   r   r1   o   s    c                s   g | ]}t j |ˆ j¡‘qS r   )rD   rE   rI   r=   )r/   rG   )rH   r   r   r1   p   s    zPKG-INFOzentry_points.txtÚentry_pointsÚ	INSTALLERÚ	installer)zmetadata-versionÚsummaryz	home-pageÚauthorzauthor-emailÚlicensezClassifier: Úclassifiersr   )r   r8   r   r6   ÚsortedÚzipr    r!   rF   r<   r=   r5   Ú
isinstanceÚDistInfoDistributionÚhas_metadataÚget_metadata_linesÚget_metadataÚstripr   ÚfeedÚcloseÚgetÚ
splitlinesÚ
startswithÚappendÚlen)r&   rG   Zquery_namesÚmissingr:   ÚpackageÚ	file_listÚmetadataÚlinesÚpathsrL   rC   Úfeed_parserÚpkg_info_dictÚkeyrR   r   )rH   r3   r   r"   :   sh    







r"   Fc       	   	   C   sº  d}x®t | ƒD ] \}}d}|dkr.tdƒ td| dd¡ƒ td| d	d¡ƒ td
| dd¡ƒ td| dd¡ƒ td| dd¡ƒ td| dd¡ƒ td| dd¡ƒ td| dd¡ƒ tdd | dg ¡¡ƒ tdd | dg ¡¡ƒ |rptd| dd¡ƒ td| dd¡ƒ tdƒ x | d g ¡D ]}td!|ƒ q.W td"ƒ x$| d#g ¡D ]}td!| ¡ ƒ qXW |rtd$ƒ x$| d%g ¡D ]}td!| ¡ ƒ qŠW d%|krtd&ƒ qW |S )'zC
    Print the information from installed distributions found.
    FTr   z---zName: %sr0   r?   zVersion: %sr<   zSummary: %srO   zHome-page: %sz	home-pagez
Author: %srP   zAuthor-email: %szauthor-emailzLicense: %srQ   zLocation: %sr=   zRequires: %sz, r5   zRequired-by: %sr>   zMetadata-Version: %szmetadata-versionzInstaller: %srN   zClassifiers:rR   z  %szEntry-points:rL   zFiles:r   z!Cannot locate installed-files.txt)Ú	enumerater	   r]   rF   rZ   )	Údistributionsr   r   Zresults_printedÚirH   Ú
classifierÚentryrC   r   r   r   r#   ”   s@    r#   )FF)Ú
__future__r   ÚloggingrD   Úemail.parserr   Úpip._vendorr   Zpip._vendor.packaging.utilsr   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.utils.miscr	   Úpip._internal.utils.typingr
   Úoptparser   Útypingr   r   r   Ú	getLoggerr)   r    r   r"   r#   r   r   r   r   Ú<module>   s    
$Z