a
    bai                  
   @  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	m
Z
 d dlmZ ddlmZ dd	lmZ dd
lmZ g dZeeZeddG dd dZdddddZdddddddddd	ddZdS )    )annotationsN)	Generator)	dataclass)BarTypeget_install_progress_renderer)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r
   r	   install_given_reqsT)frozenc                   @  s   e Zd ZU ded< dS )InstallationResultstrnameN)__name__
__module____qualname____annotations__ r   r   T/var/www/html/SiteWeb/venv/lib/python3.9/site-packages/pip/_internal/req/__init__.pyr      s   
r   zlist[InstallRequirement]z5Generator[tuple[str, InstallRequirement], None, None])requirementsreturnc                 c  s.   | D ]$}|j sJ d| |j |fV  qd S )Nz%invalid to-be-installed requirement: )r   )r   reqr   r   r   _validate_requirements   s    r   z
str | Noneboolr   zlist[InstallationResult])	r   roothomeprefixwarn_script_locationuse_user_site	pycompileprogress_barr   c              
   C  sj  t t| }|r(tdd|  g }	ttj	oBt
|dk}
t| }|
rlt|t
|d}||}t  |D ]}|j}|dusJ |jrtd| t  |jdd}W d   q1 s0    Y  nd}z|j||||||d	 W n, ty   |r|js|   Y n0 |r6|jr6|  |	t| qxW d   n1 s\0    Y  |	S )
zu
    Install everything in the given list.

    (to be called after having downloaded and unpacked the packages)
    z!Installing collected packages: %sz, r   )Zbar_typetotalNzAttempting uninstall: %sT)auto_confirm)r   r   r   r   r    r!   )collectionsOrderedDictr   loggerinfojoinkeysisEnabledForloggingINFOlenitervaluesr   r   r   should_reinstall	uninstallinstall	Exceptioninstall_succeededrollbackcommitappendr   )r   r   r   r   r   r    r!   r"   
to_install	installedshow_progressitemsZrendererrequirementreq_nameuninstalled_pathsetr   r   r   r   &   sP    ,
0r   )
__future__r   r%   r,   collections.abcr   Zdataclassesr   pip._internal.cli.progress_barsr   r   pip._internal.utils.loggingr   req_filer	   req_installr
   req_setr   __all__	getLoggerr   r'   r   r   r   r   r   r   r   <module>   s   
