
    k"g
                        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j"                  e      Z G d	 d
      Zdee   deeeef   ddf   fdZ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Zy)    N)	GeneratorListOptionalSequenceTuple)
indent_log   )parse_requirements)InstallRequirement)RequirementSet)r   r   r
   install_given_reqsc                   (    e Zd ZdeddfdZdefdZy)InstallationResultnamereturnNc                     || _         y )Nr   )selfr   s     S/var/www/html/djangosite/lib/python3.12/site-packages/pip/_internal/req/__init__.py__init__zInstallationResult.__init__   s	    	    c                 "    d| j                   dS )NzInstallationResult(name=)r   )r   s    r   __repr__zInstallationResult.__repr__   s    )$))a88r   )__name__
__module____qualname__strr   r    r   r   r   r      s!    S T 9# 9r   r   requirementsr   c              #   f   K   | D ](  }|j                   s
J d|        |j                   |f * y w)Nz%invalid to-be-installed requirement: r   )r    reqs     r   _validate_requirementsr#      s>       xxF@FFxhhms   /1global_optionsroothomeprefixwarn_script_locationuse_user_site	pycompilec                    t        j                  t        |             }|r3t        j	                  ddj                  |j                                      g }	t               5  |j                         D ]  \  }
}|j                  r<t        j	                  d|
       t               5  |j                  d      }ddd       nd}	 |j                  |||||||       r|j                  r|j                          	 |	j!                  t#        |
              	 ddd       |	S # 1 sw Y   hxY w# t        $ r  r|j                  s|j                           w xY w# 1 sw Y   |	S xY w)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install_succeededcommit	Exceptionrollbackappendr   )r    r$   r%   r&   r'   r(   r)   r*   
to_install	installedreq_namerequirementuninstalled_pathsets                r   r   r   %   sd    (()?)MNJ/IIjoo'(	

 I	 ;%/%5%5%7 	;!Hk++6A\ S*5*?*?T*?*R'S S '+#1##"!)="/' $  ';+H+H'..0/9:7	;;< 5S S  &{/L/L'002	';< s=    AE#D 6ED,;E D)%E,)EEE")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   <module>rJ      s      = = 2 ( + # 
		8	$9 9)*uS,,-tT9:7)*7SM7 3-7 3-	7
 SM7 7 7 7 

7r   