o
    6‘ðiá  ã                   @  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„Z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   úY/root/parts/websockify/install/lib/python3.10/site-packages/pip/_internal/req/__init__.pyr      s   
 r   Úrequirementsúlist[InstallRequirement]Úreturnú5Generator[tuple[str, InstallRequirement], None, None]c                 c  s0   � | 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   Úrootú
str | NoneÚhomeÚprefixÚwarn_script_locationÚboolÚuse_user_siteÚ	pycompileÚprogress_barr   úlist[InstallationResult]c              
   C  s\  t  t| ƒ¡}|rt dd | ¡ ¡¡ g }	t tj	¡o!t
|ƒdk}
t| ¡ ƒ}|
r6t|t
|ƒd�}||ƒ}tƒ �k |D ]_}|j}|dusGJ ‚|jrjt d|¡ tƒ � |jdd�}W d  ƒ n1 sdw   Y  nd}z|j||||||d	� W n tyŠ   |r‰|js‰| ¡  ‚ w |r”|jr”| ¡  |	 t|ƒ¡ q<W d  ƒ |	S 1 s§w   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   )Ú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ÚitemsÚrendererÚrequirementÚreq_nameÚuninstalled_pathsetr   r   r   r   &   s^   þÿÿ€
ú
ü
ä
ÿár   )r   r   r   r   )r   r   r   r   r   r   r    r   r!   r"   r#   r"   r$   r"   r%   r   r   r&   )Ú
__future__r   r*   r1   Úcollections.abcr   Ú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     

