ó
    9—ÍfU"  ã                   ó  • 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Jr  S SKJrJ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  \ R>                  " \ 5      r!S\S\"S\\"   S\#S\#S\#S\$4S jr%SSSSS.S\S\\"   S\#S\#S\#S\#S\#S\\\"      S\\"   S\#S\$4S jjr&SS.S\\"\4   S\\"   S\\"   S\\"   S\#S\#S\#S\#S\#S\4S  jjr'SS.S!\S\#S\\"   S\#S"\	\"   S\#S\#S\4S# jjr(S\#S\\"   S\4S$ jr)g)%é    N)ÚPath)ÚDictÚListÚOptionalÚSequence)ÚcommandsÚpaths)ÚboldÚred)Úexpose_resources_globally)ÚEXIT_CODE_OKÚExitCode)Úsleep)Úparse_specifier_for_upgrade)Ú	PipxErrorÚ	pipx_wrap)ÚVenvÚVenvContainerÚvenvÚpackage_nameÚpip_argsÚis_main_packageÚforceÚupgrading_allÚreturnc                 ó¢  • U R                   U   nUR                  c  [        SU S35      eUR                  (       a‰  UR                  U R
                  :w  a>  [        R                  SUR                   SU R                   SU R                   S35        g[        R                  SU R                   SU R                   S35        g[        UR                  5      nUR                  nU R                  UUUUR                  UR                  UUR                  S9  U R                   U   nUR                   UR                   3n	UR                  n
UR                  (       ag  [        S	[         R"                  R$                  UR&                  UUR                  S
9  [        S[         R"                  R(                  UR*                  US9  UR                  (       a”  UR,                  R/                  5        H2  n[        S	[         R"                  R$                  UUUR                  S
9  M4     UR0                  R/                  5        H&  n[        S[         R"                  R(                  XÄS9  M(     XŠ:X  a3  U(       a   g[3        [5        SU	 SU SU R6                  < S35      5        g[3        [5        SU	 SU SU
 SU R6                  < S3	5      5        g)z7Returns 1 if package version changed, 0 if same versionzInternal Error: package z has corrupt pipx metadata.zNot upgrading pinned package z	 in venv z. Run `pipx unpin z` to unpin it.r   )Úinclude_dependenciesÚinclude_appsr   ÚsuffixÚapp)r   r   Úman)r   z
                    z is already at latest version z 
                    (location: z)
                    z"
                upgraded package z from z to
                z (location: z)
                é   )Úpackage_metadataÚpackage_or_urlr   ÚpinnedÚpackageÚmain_package_nameÚloggerÚwarningÚnamer   Úpackage_versionÚupgrade_packager   r   r   r   r	   ÚctxÚbin_dirÚ	app_pathsÚman_dirÚ	man_pathsÚapp_paths_of_dependenciesÚvaluesÚman_paths_of_dependenciesÚprintr   Úroot)r   r   r   r   r   r   r#   r$   Úold_versionÚdisplay_nameÚnew_versionr/   r1   s                Ú7/usr/lib/python3/dist-packages/pipx/commands/upgrade.pyÚ_upgrade_packager;      sÄ  € ð ×,Ñ,¨\Ñ:Ðà×&Ñ&Ñ.ÜÐ2°<°.Ð@[Ð\Ó]Ð]Ø	×	 ×	 Ø×#Ñ# t×'=Ñ'=Ó=Ü�N‰NØ/Ð0@×0HÑ0HÐ/IÈÐSW×S\ÑS\ÐR]ð ^#Ø#'§9¡9 +¨^ð=ôð ô �N‰NÐ:¸4¿9¹9¸+ÐEWÐX\×XaÑXaÐWbÐbpÐqÔrØä0Ð1A×1PÑ1PÓQ€NØ"×2Ñ2€Kà×ÑØØØØ-×BÑBØ%×2Ñ2Ø'Ø×&Ñ&ð ñ ð ×,Ñ,¨\Ñ:Ðà&×.Ñ.Ð/Ð0@×0GÑ0GÐ/HÐI€LØ"×2Ñ2€Kà×$×$Ü!ØÜ�I‰I×ÑØ×&Ñ&ØØ#×*Ñ*ò	
ô 	" %¬¯©×):Ñ):Ð<L×<VÑ<VÐ^cÒdà×,×,Ø)×CÑC×JÑJÖLˆIÜ%ØÜ—	‘	×!Ñ!ØØØ'×.Ñ.ôñ Mð *×CÑC×JÑJÖLˆIÜ% e¬U¯Y©Y×->Ñ->À	ÔWñ Mð Ó!ÞØð ô ÜðØ!�NÐ"@ÀÀð N Ø $§	¡	™}ð -ðóôð äÜð"Ø". ¨v°k°]ð CØ�˜\¨$¯)©)©ð 7ðóô	
ð ó    F)ÚinstallÚ	venv_argsÚpythonÚpython_flag_passedÚvenv_dirÚverboseÚinclude_injectedr=   r>   r?   r@   c                ó¨  • U R                  5       (       d¢  U(       a‹  Uc  / n[        R                  " SUS[        U 5      R	                  [
        R                  R                  5      S   /[        R                  R                  [        R                  R                  UUUUSSSU	S9  g[        SU < S35      eU(       a1  U(       d*  [        R                  SS	R                  U5      -   S
-   5        U(       a  U(       d  [        R                  S5        [!        XS9n
U
R#                  XS9  U
R$                  (       d*  [        S['        [)        U R*                  5      5       S3SS9eU
R-                  U5        SnU
R.                  nU[1        U
UUSUUS9-  nU(       a5  U
R$                   H%  nXÊR.                  :X  a  M  U[1        U
UUSUUS9-  nM'     U$ )z0Return number of packages with changed versions.NéÿÿÿÿF)rA   r>   Úpackage_namesÚpackage_specsÚlocal_bin_dirÚlocal_man_dirr?   r   rB   r   Ú	reinstallr   Úpreinstall_packagesr@   r   z<
                Package is not installed. Expected to find z9, but it
                does not exist.
                z	Ignoring z, z as not combined with --installz0Ignoring --python as not combined with --install©rB   ©r   rB   zNot upgrading z˜. It has missing internal pipx metadata.
It was likely installed using a pipx version before 0.15.0.0.
Please uninstall and install this package to fix.)Úwrap_messageT)r   r   r   )Úis_dirr   r=   ÚstrÚsplitÚosÚpathÚsepr	   r-   r.   r0   r   r(   ÚinfoÚjoinr   Úcheck_upgrade_shared_libsr#   r   r
   r*   Úupgrade_packaging_librariesr'   r;   )rA   r   rB   rC   r   r   r=   r>   r?   r@   r   Úversions_updatedr   s                r:   Ú_upgrade_venvrZ   k   sÙ  € ð �?‰?×ÑÞØÑ Ø�	Ü×ÒØØ#Ø"Ü" 8›}×2Ñ2´2·7±7·;±;Ó?ÀÑCÐDÜ#Ÿi™i×/Ñ/Ü#Ÿi™i×/Ñ/ØØ!ØØØØ%*Ø$(Ø#5òð  äð<Ø<D¹<ð Hðóð ö žÜ�‰�K $§)¡)¨IÓ"6Ñ6Ð9ZÑZÔ[æ–gÜ�‰ÐFÔGä�Ñ*€DØ×"Ñ"¨HÐ"ÑFà× × ÜØœS¤ h§m¡mÓ!4Ó5Ð6ð 7@ð Að ñ	
ð 	
ð 	×$Ñ$ XÔ.àÐà×)Ñ)€LØÔ(ØØØØØØ#ññ Ðö Ø ×1Ô1ˆLØ×5Ñ5Ó5ÙØÔ 0ØØØØ %ØØ+ñ!ñ Òñ 2ð Ðr<   )r@   Ú	venv_dirsc                ó`   • U R                  5        H  n	[        U	UUUSUUUUUS9
n
M     [        $ )úReturn pipx exit code.F)rC   r   r   r=   r>   r?   r@   )r3   rZ   r   )r[   r?   r   r>   rB   rC   r   r=   r@   rA   Ú_s              r:   Úupgrader_   Æ   sG   € ð ×$Ñ$Ö&ˆÜØØØØ-ØØØØØØ1ñ
Šñ 'ô Ðr<   Úvenv_containerÚskipc                ó¤  • / n/ nU R                  5        Hš  n	[        X‘S9n
U
R                  X!S9  U	R                  U;   d$  SU
R                  R
                  R                  ;   a  MQ   [        U	U
R                  R
                  R                  UUSUUS9  UR                  U	R                  5        Mœ     [        U5      S:X  a  [        S	[         35        [        U5      S:”  a  [        S
SR                  U5       35      e[         $ ! [         a?  n[        U[        R                  S9  UR                  U	R                  5         SnAGM5  SnAff = f)r]   rL   rM   z
--editableT)rB   rC   r   r   r@   )ÚfileNr   z6No packages upgraded after running 'pipx upgrade-all' z,The following package(s) failed to upgrade: Ú,)Úiter_venv_dirsr   rW   r*   Úpipx_metadataÚmain_packager   rZ   Úappendr   r5   ÚsysÚstderrÚlenr   rV   r   )r`   rB   r   rC   ra   r   r@   ÚfailedÚupgradedrA   r   Úes               r:   Úupgrade_allro   æ   s*  € ð €FØ€Hà"×1Ñ1Ö3ˆÜ�HÑ.ˆØ×&Ñ&°Ð&ÑJØ�=‰=˜DÓ  L°D×4FÑ4F×4SÑ4S×4\Ñ4\Ó$\Ùð	+ÜØØ×"Ñ"×/Ñ/×8Ñ8ØØ!1Ø"ØØ#5òð �O‰O˜HŸM™MÖ*ñ' 4ô( ˆ8ƒ}˜ÓÜÐFÄuÀgÐNÔOÜ
ˆ6ƒ{�QƒÜÐFÀsÇxÁxÐPVÓGWÐFXÐYÓZÐZäÐøô ó 	)Ü�!œ#Ÿ*™*Ò%Ø�M‰M˜(Ÿ-™-×(Ó(ûð	)ús   Á'-DÄ
EÄ3E
Å
Ec                 ó:   • SSK Jn  UR                  XSS9  [        $ )r]   r   )Úshared_libsT)rB   r   Úraises)Úpipx.shared_libsrq   r_   r   )rB   r   rq   s      r:   Úupgrade_sharedrt     s    € õ
 -à×Ñ À4ÐÑHäÐr<   )*ÚloggingrR   ri   Úpathlibr   Útypingr   r   r   r   Úpipxr   r	   Úpipx.colorsr
   r   Úpipx.commands.commonr   Úpipx.constantsr   r   Úpipx.emojisr   Úpipx.package_specifierr   Ú	pipx.utilr   r   Ú	pipx.venvr   r   Ú	getLoggerÚ__name__r(   rP   ÚboolÚintr;   rZ   r_   ro   rt   © r<   r:   Ú<module>r…      s/  ðÛ Û 	Û 
Ý ß 1Ó 1ç  ß !Ý :ß 1Ý Ý >ß *ß )à	×	Ò	˜8Ó	$€ðUØ
ðUàðUð �3‰iðUð ð	Uð
 ðUð ðUð 	ôUð@ Ø%)Ø Ø$òXØðXà�3‰iðXð ðXð
 ðXð ðXð ðXð ðXð ˜˜S™	Ñ"ðXð �S‰MðXð ðXð 	õXðJ  %òØ�C˜�I‰ðà�S‰Mðð �3‰iðð �C‰yð	ð
 ðð ðð ðð ðð ðð õðP  %ò'Ø!ð'àð'ð �3‰ið	'ð
 ð'ð �3‰-ð'ð ð'ð ð'ð õ'ðT	Øð	à�3‰ið	ð õ	r<   