
    9fw                        S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJrJr  S SKJrJrJr  S SKJrJr  S S	KJrJr  S S
KJr  \ R>                  " \ 5      r!\RD                  " S5      r#SS.S\S\
\$   S\$S\	\$   S\%S\%S\%S\%S\%S\%4S jjr&SS.S\S\
\$   S\\$   S\\$   S\	\$   S\%S\%S\%S\%S\%S\4S jjr'S\\$\RP                  4   S\\$SS4   4S jr)g)    N)Path)	GeneratorIterableListOptionalUnion)paths)bold)package_name_from_specrun_post_install_actions)EXIT_CODE_INJECT_ERROREXIT_CODE_OKExitCode)hazardstars)	PipxError	pipx_wrap)Venvz(^|\s+)#.*$F)suffixvenv_dirpackage_namepackage_specpip_argsverboseinclude_appsinclude_dependenciesforcer   returnc                |   [         R                  SU5        U R                  5       (       a  [        U R	                  5       5      (       d+  [        SU< SU R                  < SU R                   S35      e[        XS9n	U	R                  X4S9  U	R                  (       d:  [        SU< SU	R                  < S	U	R                  < S
U	R                  < S3	5      eUc*  [        U[        R                  " U	R                  5      UUS9nU(       d]  U	R                  U5      (       aG  [         R                  SU5        [!        [#        S[$         SU SU	R                  < SU  S3	5      5        gU(       a$  U	R                  U	R&                     R(                  n
OSn
U	R+                  UUUUUSU
S9  U(       a?  [-        U	U[.        R0                  R2                  [.        R0                  R4                  U UUS9  [!        S[7        U5       S[7        U	R                  5       35        [!        S[8         3[:        R<                  S9  g)NzInjecting package %sz
            Can't inject z2 into nonexistent Virtual Environment
            zF. Be sure to install the package first with 'pipx
            install z(' before injecting into it.
            )r   )r   r   z& into Virtual Environment
            z. z has missing internal pipx metadata. It
            was likely installed using a pipx version before 0.15.0.0. Please
            uninstall and install z', or reinstall-all to fix.
            z$Package %s has already been injectedz
                 z! already seems to be injected in z:.
                Not modifying existing installation in 'zI'.
                Pass '--force' to force installation.
                T F)r   package_or_urlr   r   r   is_main_packager   )r   z  injected package z into venv zdone! )file)loggerdebugexistsnextiterdirr   namer   check_upgrade_shared_libspackage_metadatar   osfspathpython_pathhas_packageinfoprintr   r   main_package_namer   install_packager   r	   ctxbin_dirman_dirr
   r   sysstderr)r   r   r   r   r   r   r   r   r   venvvenv_suffixs              6/usr/lib/python3/dist-packages/pipx/commands/inject.py
inject_depr=      s:    LL'6??D)9)9);$<$<&) *]] ]]O $
 	
 *D""H"F  &) *YYMDII= )##'99- 0	
 	
 -IId&&'	
 T%%l33:LI,'H V99A
 C	
 ++D,B,BCJJ!#1!    IIII 	
 
\ 23;tDII>O
PQ	F5'
,     package_specsrequirement_filesc                Z   [        U5      n
U H  nU
R                  [        U5      5        M     [        [	        U
5      5      n
U
(       d  [        S5      e[        R                  SU
5        U(       d	  U(       a  SnSnU
 H  nU[        U SUUUUUUU	S9	-  nM     U(       a  [        $ [        $ )zReturns pipx exit code.z No packages have been specified.zInjecting packages: %rTN)r   r   r   r   r   r   r   r   )listextendparse_requirementssortedsetr   r%   r1   r=   r   r   )r   r   r?   r@   r   r   r   r   r   r   packagesfilenameall_successdeps                 r<   injectrK   o   s     M"H%*845 & c(m$H:;;
KK((3 0Kz%!5

 
	
  '<B,BBr>   rH   c              #      #    [        U 5       nU H4  n[        R                  SU5      R                  5       =n(       d  M0  Uv   M6     SSS5        g! , (       d  f       g= f7f)zr
Extract package specifications from requirements file.

Return all of the non-empty lines with comments removed.
r!   N)open
COMMENT_REsubstrip)rH   flinepkgspecs       r<   rD   rD      sG      
h1D$..T288::w:  
s"   A#/AA		A#
A A#)*loggingr-   rer8   pathlibr   typingr   r   r   r   r   pipxr	   pipx.colorsr
   pipx.commands.commonr   r   pipx.constantsr   r   r   pipx.emojisr   r   	pipx.utilr   r   	pipx.venvr   	getLogger__name__r%   compilerN   strboolr=   rK   PathLikerD    r>   r<   <module>rf      s    	 	 
  = =   Q I I % * 			8	$ZZ'
 WW3-W W 3i	W W W W W W 
WJ ,C,C3-,C C=,C  }	,C
 3i,C ,C ,C ,C ,C ,C ,C^sBKK'7!8 YsDRV=W r>   