
    Ki                        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j        e          Z ed           G d d                      Zd!dZ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                      e Zd ZU ded<   dS )InstallationResultstrnameN)__name__
__module____qualname____annotations__     R/srv/django_bis/venv311/lib/python3.11/site-packages/pip/_internal/req/__init__.pyr   r      s         IIIIIr   r   requirementslist[InstallRequirement]return5Generator[tuple[str, InstallRequirement], None, None]c              #  R   K   | D ]!}|j         sJ d|             |j         |fV  "d S )Nz%invalid to-be-installed requirement: )r   )r   reqs     r   _validate_requirementsr       sT         xFFFFFFFxhm r   root
str | Nonehomeprefixwarn_script_locationbooluse_user_site	pycompileprogress_barr   list[InstallationResult]c           
        t          j        t          |                     }|r@t                              dd                    |                                                     g }	t                              t          j	                  ot          |          dk    }
t          |                                          }|
r)t          |t          |                    } ||          }t                      5  |D ]}|j        }|J |j        rXt                              d|           t                      5  |                    d          }ddd           n# 1 swxY w Y   nd}	 |                    ||||||	           |r|j        r|                                 n,# t*          $ r |r|j        s|                                  w xY w|	                    t1          |                     	 ddd           n# 1 swxY 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install_succeededcommit	Exceptionrollbackappendr   )r   r!   r#   r$   r%   r'   r(   r)   
to_install	installedshow_progressitemsrendererrequirementreq_nameuninstalled_pathsets                   r   r   r   &   s    ()?)M)MNNJ 
/IIjoo''((	
 	
 	

 I''55M#j//A:MM""$$%%E  0!Z
 
 
 	 ; ;  	; 	;K"'H'''+ +6AAA\\ S S*5*?*?T*?*R*R'S S S S S S S S S S S S S S S '+#1##!)="/' $    ' 1;+H 1'..000    & 3{/L 3'00222	 /99::::9	;; ; ; ; ; ; ; ; ; ; ; ; ; ; ;> sO   7A G>7EG>EG>!E"G>)F"G>")G&G>>HH)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/   r6   collections.abcr   dataclassesr   pip._internal.cli.progress_barsr   r   pip._internal.utils.loggingr   req_filer
   req_installr   req_setr   __all__	getLoggerr   r1   r   r    r   r   r   r   <module>rU      sO   " " " " " "      % % % % % % ! ! ! ! ! ! R R R R R R R R 2 2 2 2 2 2 ( ( ( ( ( ( + + + + + + # # # # # #   
	8	$	$ $          A A A A A Ar   