<!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>
U
    ʗRe                     @   s   d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZ e eZG d	d
 d
eZG dd deZee eeddf dddZee eeedddZdS )    N)Values)	GeneratorIterableIteratorList
NamedTupleOptionalcanonicalize_name)Command)ERRORSUCCESS)BaseDistributionget_default_environment)write_outputc                   @   s<   e Zd ZdZdZdZddddZeee	 e
d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> ...TN)returnc                 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-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/commands/show.pyadd_options   s    	zShowCommand.add_options)optionsargsr   c                 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   r!   r"   queryresultsr   r   r   run&   s    
  zShowCommand.run)__name__
__module____qualname____doc__usageignore_require_venvr    r   r   strintr+   r   r   r   r   r      s
   r   c                   @   s   e Zd ZU eed< eed< eed< ee ed< ee ed< eed< eed< ee ed< eed	< eed
< ee ed< eed< eed< eed< ee ed< eee  ed< dS )_PackageInfonameversionlocationrequiresrequired_by	installermetadata_versionclassifierssummaryhomepageproject_urlsauthorauthor_emaillicenseentry_pointsr   N)r,   r-   r.   r2   __annotations__r   r   r   r   r   r   r4   4   s    
r4   )r)   r   c                 #   s  t  }dd | D  dd | D }t fddt| |D }|rXtdd| ttt	 d fd	d
}|D ]0}z | }W n t
k
r   Y qtY nX tdd | D t	jd}t||t	jd}z|d}	|	jdd}
W n tk
r   g }
Y nX | }|dkrd}nt|}|j}t|jt	|j|jpBd|||j|jpTd|dg |dd|dd|dg |dd|dd|dd|
|dV  qtd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   i | ]}|j |qS r   )canonical_name.0distr   r   r   
<dictcomp>P   s      z(search_packages_info.<locals>.<dictcomp>c                 S   s   g | ]}t |qS r   r	   )rG   r5   r   r   r   
<listcomp>Q   s     z(search_packages_info.<locals>.<listcomp>c                    s   g | ]\}}| kr|qS r   r   )rG   r5   pkg	installedr   r   rJ   S   s      zPackage(s) not found: %s, )current_distr   c                    s    fdd  D S )Nc                 3   s4   | ],} j d d | D kr|jd p*dV  qdS )c                 S   s   h | ]}t |jqS r   )r
   r5   )rG   dr   r   r   	<setcomp>]   s     zRsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>.<setcomp>NameUNKNOWNN)rE   iter_dependenciesmetadatarF   rO   r   r   	<genexpr>Y   s
   zHsearch_packages_info.<locals>._get_requiring_packages.<locals>.<genexpr>)valuesrV   rL   rV   r   _get_requiring_packagesX   s    
z5search_packages_info.<locals>._get_requiring_packagesc                 s   s   | ]}|j V  qd S )N)r5   )rG   reqr   r   r   rW   f   s     z'search_packages_info.<locals>.<genexpr>)keyzentry_points.txtF)keependsN 
ClassifierSummaryz	Home-pagezProject-URLAuthorzAuthor-emailLicense)r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   r   )r   iter_all_distributionssortedzipr%   r&   joinr   r   r2   KeyErrorrT   lower	read_text
splitlinesFileNotFoundErroriter_declared_entriesrU   r4   raw_namer6   r7   r:   r;   get_allget)r)   envZquery_namesmissingrY   Z
query_namerH   r8   r9   Zentry_points_textrC   Z
files_iterr   rU   r   rL   r   r'   G   sX    













r'   )distributionsr#   r$   r   c           
      C   sp  d}t | D ]\\}}d}|dkr*td td|j td|j td|j td|j td	|j td
|j td|j td|j	 tdd
|j tdd
|j |r,td|j td|j td |jD ]}td| qtd |jD ]}td|  qtd |jD ]}td| q|rtd |jdkrNtd q|jD ]}	td|	  qTq|S )zC
    Print the information from installed distributions found.
    FTr   z---zName: %szVersion: %szSummary: %szHome-page: %sz
Author: %szAuthor-email: %szLicense: %szLocation: %szRequires: %srN   zRequired-by: %szMetadata-Version: %szInstaller: %szClassifiers:z  %szEntry-points:zProject-URLs:zFiles:Nz+Cannot locate RECORD or installed-files.txt)	enumerater   r5   r6   r=   r>   r@   rA   rB   r7   re   r8   r9   r;   r:   r<   rC   stripr?   r   )
rq   r#   r$   Zresults_printedirH   
classifierentryproject_urlliner   r   r   r(      sD    




r(   )loggingoptparser   typingr   r   r   r   r   r   pip._vendor.packaging.utilsr
   pip._internal.cli.base_commandr   pip._internal.cli.status_codesr   r   pip._internal.metadatar   r   pip._internal.utils.miscr   	getLoggerr,   r%   r   r4   r2   r'   boolr(   r   r   r   r   <module>   s     
%E