
    9f>                        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	  S SK
Jr  S SKJr  S SK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  \R<                  " \5      r Sr!S\S\	\\\"4   4S jr#S\\   S\4S jr$S\\   S\%S\"S\4S jr&S\\   S\4S jr'S\\   S\%S\4S jr(S\S\%S\%S\%S\%S\4S jr)g)    N)Path)Any
CollectionDictTuple)paths)bold)VenvProblemsget_venv_summaryvenv_health_check)EXIT_CODE_LIST_PROBLEMEXIT_CODE_OKExitCode)sleep)JsonEncoderHandlesPathPipxMetadata)VenvVenvContainerz0.1venv_dirreturnc                     [        U 5      n[        U5      u  p#UR                  5       (       a  [        U SS9X#4$ UR                  US4$ )NF)read )r   r   any_r   pipx_metadata)r   venvvenv_problemswarning_messages       =/usr/lib/python3/dist-packages/pipx/commands/list_packages.pyget_venv_metadata_summaryr       sL    >D'8'>$]XE2MSSr22    	venv_dirsc                 (   [        5       nU  H  n[        U5      u  p4nUR                  5       (       a  [        R	                  U5        O4[        UR                  R                  UR                  R                  5        UR                  U5        M     U$ )N)
r
   r    r   loggerwarningprintmain_packagepackagepackage_versionor_)r"   all_venv_problemsr   venv_metadatar   warning_strs         r   
list_shortr.      s|    $4Mh4W1kNN;'**22**:: 	m,  r!   include_injectedvenv_root_dirc                    [        S[        U5       35        [        S[        [        [        R                  R
                  5      5       35        [        S[        [        [        R                  R                  5      5       35        [        5       nU  HU  n[        XAS9u  pVUR                  5       (       a  [        R                  U5        O[        U5        UR                  U5        MW     U$ )Nzvenvs are in z"apps are exposed on your $PATH at zmanual pages are exposed at )r/   )r&   r	   strr   ctxbin_dirman_dirr
   r   r   r$   r%   r*   )r"   r/   r0   r+   r   package_summaryr   s          r   	list_textr7   .   s    	M$}-.
/0	.tC		8I8I4J/K.L
MN	(c%))2C2C.D)E(F
GH$)9()f&NN?+/"m,  r!   c           	         / n[         0 S.n[        5       nU  H  n[        U5      u  pVnUR                  U5        UR	                  5       (       a  UR                  U5        MJ  0 US   UR                  '   UR                  5       US   UR                     S'   M     [        [        R                  " USS[        S95        U H  n[        R                  U5        M     U$ )N)pipx_spec_versionvenvsr:   metadata   T)indent	sort_keyscls)PIPX_SPEC_VERSIONr
   r    r*   r   appendnameto_dictr&   jsondumpsr   r$   r%   )	r"   warning_messagesspec_metadatar+   r   r,   r   r-   r   s	            r   	list_jsonrH   ?   s    .%M %6OPX6Y3{m,##K002gx}}-<I<Q<Q<Sgx}}-j9  
$**]1BX
YZ+' , r!   c           	          [        5       nU  H  n[        U5      u  pEnUR                  5       (       a  [        R	                  U5        OUR
                  R                  (       a4  [        UR
                  R                  UR
                  R                  5        U(       aZ  UR                  R                  5        H<  u  pxUR                  (       d  M  [        XxR                  SUR                   S35        M>     UR                  U5        M     U$ )Nz(injected in venv ))r
   r    r   r$   r%   r'   pinnedr&   r(   r)   injected_packagesitemsrB   r*   )	r"   r/   r+   r   r,   r   r-   pkginfos	            r   list_pinnedrP   W   s    $4Mh4W1kNN;'))00!..66!..>>  !.!@!@!F!F!HIC{{{c#7#7;Mhmm_\]9^_ "I 	m,   r!   venv_containerjson_formatshort_formatpinned_onlyc                    [        U R                  5       5      nU(       d  [        S[         3[        R
                  S9  U(       a  [        U5      nOHU(       a  [        U5      nO5U(       a  [        XQ5      nO"U(       d  [        $ [        XQ[        U 5      5      nUR                  (       a  [        R                  S5        UR                  (       a  [        R                  S5        UR                   (       a  [        R                  S5        UR"                  (       a  [        R                  S5        UR%                  5       (       a  [        S[        R
                  S9  [&        $ [        $ )zReturns pipx exit code.z%nothing has been installed with pipx )filez
One or more packages contain out-of-date internal data installed from a
previous pipx version and need to be updated.
    To fix, execute: pipx reinstall-allz`
One or more packages have a missing python interpreter.
    To fix, execute: pipx reinstall-allz
One or more packages have a missing internal pipx metadata.
   They were likely installed using a pipx version before 0.15.0.0.
   Please uninstall and install these package(s) to fix.zj
One or more packages are not installed properly.
   Please uninstall and install these package(s) to fix.r   )sortediter_venv_dirsr&   r   sysstderrrH   r.   rP   r   r7   r2   bad_venv_namer$   r%   invalid_interpretermissing_metadatanot_installedr   r   )rQ   r/   rR   rS   rT   r"   r+   s          r   list_packagesr_   l   s    #))F)F)H"II5eW=CJJO%i0	&y1	'	D%i3~CVW&&6	

 ,,p	
 ))G	

 &&G	

 bszz"%%r!   )*rD   loggingrY   pathlibr   typingr   r   r   r   pipxr   pipx.colorsr	   pipx.commands.commonr
   r   r   pipx.constantsr   r   r   pipx.emojisr   pipx.pipx_metadata_filer   r   	pipx.venvr   r   	getLogger__name__r$   r@   r2   r    r.   boolr7   rH   rP   r_    r!   r   <module>rn      s     
  / /   R R I I  H )			8	$ 3 3|\SV7V1W 3*T* |  D) T RU Zf "D) l 0:d+ t  *1!11 1 	1
 1 1r!   