o
    Ëý°jé
  ã                   @   sð   d dl Z d dl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 g d¢Ze e¡ZG d	d
„ d
ƒZdee deeeef  fdd„Zdee dee dee dee dee dee dedededee fdd„ZdS )é    N)ÚIteratorÚListÚOptionalÚSequenceÚTuple)Ú
indent_logé   )Úparse_requirements)ÚInstallRequirement)ÚRequirementSet)r   r
   r	   Úinstall_given_reqsc                   @   s,   e Zd Zdeddfdd„Zdefdd„ZdS )ÚInstallationResultÚnameÚreturnNc                 C   s
   || _ d S )N©r   )Úselfr   © r   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_internal/req/__init__.pyÚ__init__   s   
zInstallationResult.__init__c                 C   s   d| j ›d�S )NzInstallationResult(name=ú)r   )r   r   r   r   Ú__repr__   s   zInstallationResult.__repr__)Ú__name__Ú
__module__Ú__qualname__Ústrr   r   r   r   r   r   r      s    r   Úrequirementsr   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   Úinstall_optionsÚglobal_optionsÚrootÚhomeÚprefixÚwarn_script_locationÚuse_user_siteÚ	pycompilec	                 C   s  t  t| ƒ¡}	|	rt dd |	 ¡ ¡¡ g }
tƒ �h |	 ¡ D ]Z\}}|j	rEt d|¡ tƒ � |j
dd�}W d  ƒ n1 s?w   Y  nd}z|j||||||||d� W n tyg   |rf|jsf| ¡  ‚ w |rq|jrq| ¡  |
 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, zAttempting uninstall: %sT)Úauto_confirmN)r    r!   r"   r#   r$   r%   )ÚcollectionsÚOrderedDictr   ÚloggerÚinfoÚjoinÚkeysr   ÚitemsÚshould_reinstallÚ	uninstallÚinstallÚ	ExceptionÚinstall_succeededÚrollbackÚcommitÚappendr   )r   r   r   r    r!   r"   r#   r$   r%   Ú
to_installÚ	installedÚreq_nameÚrequirementÚuninstalled_pathsetr   r   r   r   %   sP   þÿ€
ø

ü
ä
ÿár   )r'   ÚloggingÚtypingr   r   r   r   r   Úpip._internal.utils.loggingr   Úreq_filer	   Úreq_installr
   Úreq_setr   Ú__all__Ú	getLoggerr   r)   r   r   r   Úboolr   r   r   r   r   Ú<module>   sH    
ÿ
þÿþýüûúùø	÷
ö