
    9f                     6   S SK r S SKrS SKJr  S SK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Jr  S SKJr  S S	KJrJr  S S
KJr  \ R4                  " \5      rS\S\S\S\S\\   4
S jrSS.S\S\S\S\S\S\4S jjr S\S\\   S\S\S\S\S\4S jr!g)    N)Path)ListSet)canonicalize_name)bold)_get_package_bin_dir_app_paths_get_package_man_paths)EXIT_CODE_OKEXIT_CODE_UNINJECT_ERRORMAN_SECTIONSExitCode)stars)	PipxError	pipx_wrap)Venvpackage_namevenvlocal_bin_dirlocal_man_dirreturnc           	      L   [        XR                  U    UR                  U5      n[        5       n[         H0  nU[        UUR                  U    UR                  U-  X6-  5      -  nM2     [        5       nU H=  nUR                  UR                  U    R                  ;   d  M,  UR                  U5        M?     U Hh  n	[        U	R                  R                  5      U	R                  -  n
[        U
5      UR                  U    R                  ;   d  MW  UR                  U
5        Mj     U$ )N)r   package_metadatabin_pathsetr   r	   man_pathnameappsaddr   parentstr	man_pages)r   r   r   r   bin_dir_app_paths	man_pathsman_sectionneed_to_removebin_dir_app_pathr   paths              8/usr/lib/python3/dist-packages/pipx/commands/uninject.pyget_include_resource_pathsr)      s	   6##L14==- I#+!!,/MMK''	
 	
	 $ UN-  D$9$9,$G$L$LL/0 . HOO(()HMM9t9--l;EEEt$ 
     F)
leave_depsr+   c                   [        U5      nXR                  R                  R                  :X  aP  [        R                  [        SU SU R                  R                   SU R                  R                   S3SS95        gXR                  R                  ;  a0  [        R                  U SU R                  R                   S	35        gU R                  U   R                  n[        XX#5      nU(       d'  U R                  S
S9n[        R                  SU 35        U R                  US
S9  U(       dp  U R                  S
S9n[        R                  SU 35        UW-
  n	[!        U	5      S:X  a  O[        R                  SU	 35        U	 H  n
U R                  U
SS9  M     SnOSnU(       a8  U H2  n ["        R$                  " U5        [        R                  SU 35        M4     [)        S[+        U5       U S[+        U R                  R                  5       S[,         35        g
! [&         a    [        R                  SU 35         M  f = f)Nz
            z is the main package of z'
            venv. Use `pipx uninstall z0` to uninstall instead of uninject.
            z    )subsequent_indentFz is not in the z venv. Skipping.T)not_requiredz Original not required packages: )packagewas_injectedzNew not required packages: r   z%Dependencies of uninstalled package: z and its dependencies zremoved file z"tried to remove but couldn't find zUninjected package z from venv  )r   pipx_metadatamain_packager/   loggerwarningr   rootr   injected_packagesr   include_appsr)   list_installed_packagesinfouninstall_packagelenosunlinkFileNotFoundErrorprintr   r   )r   r   r   r   r+   need_app_uninstallnew_resource_pathsorig_not_required_packagesnew_not_required_packagesdeps_of_uninstalleddep_package_namedeps_stringr'   s                r(   uninject_deprI   3   s=    %\2L))66>>>N2499>>2B C''+yy~~&6 7 #*	
 --???,tyy~~6FFVWX..|<II3Le%)%A%At%A%T"67Q6RST<dC$($@$@d$@$S!12K1LMN7:TT"#q(KK?@S?TUV 3""+;%"P !4 .&D4		$ mD623 ' 
\ 23K=DQUQZQZQ_Q_L`Kaabchbi
jk % I@GHIs   1H$$"I
	I
venv_dirdependenciesverbosec          
         U R                  5       (       a  [        U R                  5       5      (       d  [        SU R                   S35      e[        XS9nUR                  (       d6  [        SU R                  < SU R                  < SU R                  < S35      eSnU H  nU[        UUUUUS	9-  nM     U(       a  [        $ [        $ )
zReturns pipx exit codezVirtual environment z does not exist.)rL   z5
            Can't uninject from 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 manually to fix.
            T)r   r   r+   )
existsnextiterdirr   r   r   r   rI   r
   r   )	rJ   rK   r   r   r+   rL   r   all_successdeps	            r(   uninjectrS   u   s     ??D)9)9);$<$<.x}}o=MNOO*D  55=]]4E F]] **2--): ;	
 	
 K|''!
 	
  ''r*   )"loggingr>   pathlibr   typingr   r   packaging.utilsr   pipx.colorsr   pipx.commands.uninstallr   r	   pipx.constantsr
   r   r   r   pipx.emojisr   	pipx.utilr   r   	pipx.venvr   	getLogger__name__r5   r    r)   boolrI   rS    r*   r(   <module>rb      s     	   -    * 			8	$S  T bf knoskt > ?
?? 	?
 ? ? 
?D'('(s)'( 	'(
 '( '( '( '(r*   