a
    $lJh                     @   s   d dl Z d dlZd dlmZ d dl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 ddlmZ dd	lmZ g d
ZeeZeddG dd dZee ee	eef ddf dddZee ee ee ee ee eeeeee d
ddZdS )    N)	dataclass)	GeneratorListOptionalSequenceTuple)get_install_progress_renderer)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r   r   install_given_reqsT)frozenc                   @   s   e Zd ZU eed< dS )InstallationResultnameN)__name__
__module____qualname__str__annotations__ r   r   L/var/www/shaz/venv/lib/python3.9/site-packages/pip/_internal/req/__init__.pyr      s   
r   )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   )
r   global_optionsroothomeprefixwarn_script_locationuse_user_site	pycompileprogress_barr   c	                 C   sl  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 |r8|jr8|  |
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#   r$   
to_install	installedshow_progressitemsZrendererrequirementreq_nameuninstalled_pathsetr   r   r   r   $   sR    ,
	0r   )r'   r.   Zdataclassesr   typingr   r   r   r   r   pip._internal.cli.progress_barsr   pip._internal.utils.loggingr	   req_filer   req_installr   req_setr   __all__	getLoggerr   r)   r   r   r   boolr   r   r   r   r   <module>   s4   
	