
    9f                        S SK r S SKJr  S SKJr  S SKJrJrJrJ	r	  \(       a  S SK
Jr  S SKJrJrJrJr  S SKJrJrJrJrJr  S SKJrJrJr  S S	KJr  S S
KJrJr  S SK J!r!J"r"  S SK#J$r$  \ RJ                  " \&5      r'     S'S\$S\(S\(S\\\(      S\)S\)S\(S\4S jjr*S\!S\S\S\S\	\   4
S jr+S\!S\S\S\S\	\   4
S jr,S\(S\!S\S \S\	\   4
S! jr-S"\S\S\S#\)S\4
S$ jr.S%\"S\S\S#\)S\4
S& jr/g)(    N)Path)which)TYPE_CHECKINGListOptionalSet)Callable)
add_suffixcan_symlink!get_exposed_man_paths_for_packageget_exposed_paths_for_package)EXIT_CODE_OKEXIT_CODE_UNINSTALL_ERROR$EXIT_CODE_UNINSTALL_VENV_NONEXISTENTMAN_SECTIONSExitCode)hazardsleepstars)PackageInfo)rmdirsafe_unlink)VenvVenvContainer)VenvMetadatavenv_metadatapackage_namepackage_or_urlpip_argsinclude_appsinclude_dependenciessuffixreturnc                     Uc  / n[        UUUUUU R                  U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                  US9$ )N)packager   r   r    r!   apps	app_pathsapps_of_dependenciesapp_paths_of_dependencies	man_pages	man_pathsman_pages_of_dependenciesman_paths_of_dependenciespackage_versionr"   )
r   r&   r'   r(   r)   r*   r+   r,   r-   r.   )r   r   r   r   r    r!   r"   s          9/usr/lib/python3/dist-packages/pipx/commands/uninstall.py_venv_metadata_to_package_infor0      s     %!1))*??"/"I"I))))"/"I"I"/"I"I%55     venvpackage_infovenv_bin_pathlocal_bin_dirc                     UR                   n/ nUR                  (       a  XQR                  -  nUR                  (       a  XQR                  -  n[        X#U Vs/ s H  n[        Xd5      PM     sn5      $ s  snf N)r"   r    r&   r!   r(   r   r
   )r2   r3   r4   r5   r"   r&   apps          r/   _get_package_bin_dir_app_pathsr9   >   sk       FD  !!!((111(koGpkodg
SVH_koGpqqGps   A3venv_man_pathlocal_man_dirc                     / nUR                   (       a  XAR                  -  nUR                  (       a  XAR                  -  n[	        X#U5      $ r7   )r    r*   r!   r,   r   )r2   r3   r:   r;   r*   s        r/   _get_package_man_pathsr=   J   sB    I  +++	((;;;	,]9UUr1   resource_typevenv_resource_pathlocal_resource_dirc                 T   [        5       nU S;   d   S5       e[        [        S.U    nUR                  R                  R
                  b.  UR                  R                  5        H  nXE" XX#5      -  nM     U$ UR                  R                  5       (       aX  UR                  UR                  R                  [        5       5      n[        XqR                  R                  5      nU" XX#5      nU$ UR                  5       (       a  [        U5      (       d
  [        5       $ [!        X#5      nU$ )N)r8   manzinvalid resource type)setr9   r=   pipx_metadatamain_packager%   package_metadatavaluespython_pathis_fileget_venv_metadata_for_packagerootnamer0   is_dirr   r   )	r>   r2   r?   r@   resource_pathsget_package_resource_pathsr3   r   main_package_infos	            r/   _get_venv_resource_pathsrQ   S   s    UNN*C,CC* .%" "
 &&..: 1188:L8M_ttN ;2 / 
			!	!	#	# ::499>>35Q:=))..Y3DM_t  "((**+>P2Q2Q5L67I^r1   venv_dirverbosec           	         U R                  5       (       dV  [        SU R                   S[         35        [	        U R                  5      nU(       a  [        [
         SU S35        [        $ [        XS9n[        SXUR                  U5      n[        5       n[         H"  nU[        SXUR                  U-  X(-  5      -  nM$     Xg-   H'  n	 [        U	5        [        R                  SU	 35        M)     [#        U 5        [        S
UR                   S[$         35        [&        $ ! [          a    [        R                  S	U	 35         M  f = f)zfUninstall entire venv_dir, including main package and all injected
packages.

Returns pipx exit code.
zNothing to uninstall for  z	  Note: 'z1' still exists on your system and is on your PATH)rS   r8   rB   zremoved file z"tried to remove but couldn't find zuninstalled z! )existsprintrL   r   r   r   r   r   rQ   bin_pathrC   r   man_pathr   loggerinfoFileNotFoundErrorr   r   r   )
rR   r5   r;   rS   r8   r2   bin_dir_app_pathsman_dir_pathsman_sectionpaths
             r/   	uninstallra   |   s'    ??)(--%ABHMM"VHIcU*[\]33*D0mm][EM#1%}}{?Z\i\wxx $ "1	0 KK-v./ 2 
(O	L2eW
-. ! 	EKK<TFCD	Es   
D!!"EEvenv_containerc                     SnU R                  5        H  n[        XQX#5      nXFS:H  -  nM     U(       a  [        $ [        $ )zReturns pipx exit code.Tr   )iter_venv_dirsra   r   r   )rb   r5   r;   rS   all_successrR   
return_vals          r/   uninstall_allrg      sD     K"113xO
Q& 4 '<E,EEr1   ) NTFrh   )0loggingpathlibr   shutilr   typingr   r   r   r   collections.abcr	   pipx.commands.commonr
   r   r   r   pipx.constantsr   r   r   r   r   pipx.emojisr   r   r   pipx.pipx_metadata_filer   	pipx.utilr   r   	pipx.venvr   r   pipx.venv_inspectr   	getLogger__name__rZ   strboolr0   r9   r=   rQ   ra   rg    r1   r/   <module>rz      s      5 5(   - , / ( ) *			8	$ $(!&  tCy!	
    >	r
	r)	r:>	rOS	rY	rV V[ VQU Vfj Vorswox V&&"&8<&RV&Y&R T $ QU Zb BF!FF F 	F
 Fr1   