§
    u”j¶#  ã                   ó°   — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZ d d	lmZ  ee¦  «        Z G d
„ de¦  «        ZdS )é    N)ÚValues)ÚCallable)ÚCommand)ÚERRORÚSUCCESS)ÚCommandErrorÚPipError)Ú
filesystem)Ú	getLogger)Úformat_sizec                   ó¦  — e Zd ZdZdZdZdd„Zdeee	e
ee         gdf         f         fd„Zde
d	ee         defd
„Zde
d	ee         ddfd„Zde
d	ee         ddfd„Zde
d	ee         ddfd„Zdee         ddfd„Zdee         ddfd„Zde
d	ee         ddfd„Zde
d	ee         ddfd„Zde
dedefd„Zde
dee         fd„Zde
dedee         fd„ZdS )ÚCacheCommandaw  
    Inspect and manage pip's wheel cache.

    Subcommands:

    - dir: Show the cache directory.
    - info: Show information about the cache.
    - list: List filenames of packages stored in the cache.
    - remove: Remove one or more package from the cache.
    - purge: Remove all items from the cache.

    ``<pattern>`` can be a glob expression or a package name.
    Tz˜
        %prog dir
        %prog info
        %prog list [<pattern>] [--format=[human, abspath]]
        %prog remove <pattern>
        %prog purge
    ÚreturnNc                 ó†   — | j                              dddddd¬¦  «         | j                             d| j         ¦  «         d S )	Nz--formatÚstoreÚlist_formatÚhuman)r   Úabspathz:Select the output format among: human (default) or abspath)ÚactionÚdestÚdefaultÚchoicesÚhelpr   )Úcmd_optsÚ
add_optionÚparserÚinsert_option_group©Úselfs    úk/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/commands/cache.pyÚadd_optionszCacheCommand.add_options(   sU   € ØŒ× Ò ØØØØØ(ØMð 	!ñ 	
ô 	
ð 	
ð 	Œ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9ó    c                 óD   — | j         | j        | j        | j        | j        dœS )N)ÚdirÚinfoÚlistÚremoveÚpurge)Úget_cache_dirÚget_cache_infoÚlist_cache_itemsÚremove_cache_itemsÚpurge_cacher   s    r    Úhandler_mapzCacheCommand.handler_map4   s/   € àÔ%ØÔ'ØÔ)ØÔ-ØÔ%ð
ð 
ð 	
r"   ÚoptionsÚargsc                 óò  — |                       ¦   «         }|j        s!t                               d¦  «         t          S |r
|d         |vrBt                               dd                     t          |¦  «        ¦  «        ¦  «         t          S |d         }	  ||         ||dd …         ¦  «         nC# t          $ r6}t                               |j        d         ¦  «         t          cY d }~S d }~ww xY wt          S )Nz<pip cache commands can not function since cache is disabled.r   zNeed an action (%s) to perform.z, é   )
r.   Ú	cache_dirÚloggerÚerrorr   ÚjoinÚsortedr	   r0   r   )r   r/   r0   r.   r   Úes         r    ÚrunzCacheCommand.run=   s  € Ø×&Ò&Ñ(Ô(ˆàÔ ð 	Ý�LŠLÐWÑXÔXÐXÝˆLð ð 	�t˜A”w kÐ1Ð1Ý�LŠLØ1Ø—	’	�& Ñ-Ô-Ñ.Ô.ñô ð õ ˆLà�a”ˆð	ØˆK˜Ô ¨¨a¨b¨b¬Ñ2Ô2Ð2Ð2øÝð 	ð 	ð 	Ý�LŠL˜œ œÑ#Ô#Ð#ÝˆLˆLˆLˆLˆLˆLøøøøð	øøøõ ˆs   ÂB/ Â/
C/Â9+C*Ã$C/Ã*C/c                 óf   — |rt          d¦  «        ‚t                               |j        ¦  «         d S )NúToo many arguments)r   r4   r%   r3   ©r   r/   r0   s      r    r)   zCacheCommand.get_cache_dirW   s4   € Øð 	5ÝÐ3Ñ4Ô4Ð4å�Š�GÔ%Ñ&Ô&Ð&Ð&Ð&r"   c           	      óˆ  — |rt          d¦  «        ‚t          |                      |¦  «        ¦  «        }t          |                      |d¦  «        ¦  «        }|                      |d¦  «        }|                      |d¦  «        }|                      |d¦  «        }t          j        t          j        |¦  «        t          j        |¦  «        z   ¦  «        }t          j        |¦  «        }	t          j
        d¦  «                             |||||||	¬¦  «                             ¦   «         }
t                               |
¦  «         d S )Nr;   Ú*úhttp-v2ÚhttpÚwheelsa  
                    Package index page cache location (pip v23.3+): {http_cache_location}
                    Package index page cache location (older pips): {old_http_cache_location}
                    Package index page cache size: {http_cache_size}
                    Number of HTTP files: {num_http_files}
                    Locally built wheels location: {wheels_cache_location}
                    Locally built wheels size: {wheels_cache_size}
                    Number of locally built wheels: {package_count}
                )Úhttp_cache_locationÚold_http_cache_locationÚhttp_cache_sizeÚnum_http_filesÚwheels_cache_locationÚpackage_countÚwheels_cache_size)r   ÚlenÚ_find_http_filesÚ_find_wheelsÚ
_cache_dirr
   r   Údirectory_sizeÚformat_directory_sizeÚtextwrapÚdedentÚformatÚstripr4   r%   )r   r/   r0   rE   Únum_packagesrB   rC   rF   rD   rH   Úmessages              r    r*   zCacheCommand.get_cache_info]   sB  € Øð 	5ÝÐ3Ñ4Ô4Ð4å˜T×2Ò2°7Ñ;Ô;Ñ<Ô<ˆÝ˜4×,Ò,¨W°cÑ:Ô:Ñ;Ô;ˆà"Ÿošo¨g°yÑAÔAÐØ"&§/¢/°'¸6Ñ"BÔ"BÐØ $§¢°¸Ñ BÔ BÐÝ$Ô0ÝÔ%Ð&9Ñ:Ô:ÝÔ'Ð(?Ñ@Ô@ñAñ
ô 
ˆõ 'Ô<Ð=RÑSÔSÐõ ŒOðñ
ô 
÷ ŠVØ$7Ø(?Ø /Ø-Ø&;Ø*Ø"3ð ñ ô ÷ ŠU‰WŒWð+ 	õ0 	�Š�GÑÔÐÐÐr"   c                 óþ   — t          |¦  «        dk    rt          d¦  «        ‚|r	|d         }nd}|                      ||¦  «        }|j        dk    r|                      |¦  «         d S |                      |¦  «         d S )Nr2   r;   r   r>   r   )rI   r   rK   r   Úformat_for_humanÚformat_for_abspath)r   r/   r0   ÚpatternÚfiless        r    r+   zCacheCommand.list_cache_items‡   s�   € Ýˆt‰9Œ9�qŠ=ˆ=ÝÐ3Ñ4Ô4Ð4àð 	Ø˜1”gˆGˆGàˆGà×!Ò! '¨7Ñ3Ô3ˆØÔ 'Ò)Ð)Ø×!Ò! %Ñ(Ô(Ð(Ð(Ð(à×#Ò# EÑ*Ô*Ð*Ð*Ð*r"   rY   c                 ó–  — |st                                d¦  «         d S g }|D ]Q}t          j                             |¦  «        }t          j        |¦  «        }|                     d|› d|› d�¦  «         ŒRt                                d¦  «         t                                d                     t          |¦  «        ¦  «        ¦  «         d S )NzNo locally built wheels cached.z - z (ú)zCache contents:
ú
)
r4   r%   ÚosÚpathÚbasenamer
   Úformat_file_sizeÚappendr6   r7   )r   rY   ÚresultsÚfilenameÚwheelÚsizes         r    rV   zCacheCommand.format_for_human–   sÁ   € Øð 	Ý�KŠKÐ9Ñ:Ô:Ð:ØˆFàˆØð 	3ð 	3ˆHÝ”G×$Ò$ XÑ.Ô.ˆEÝÔ.¨xÑ8Ô8ˆDØ�NŠNÐ1 Ð1Ð1¨$Ð1Ð1Ð1Ñ2Ô2Ð2Ð2Ý�ŠÐ'Ñ(Ô(Ð(Ý�Š�D—I’I�f W™oœoÑ.Ô.Ñ/Ô/Ð/Ð/Ð/r"   c                 ó‚   — |r<t                                d                     t          |¦  «        ¦  «        ¦  «         d S d S )Nr\   )r4   r%   r6   r7   )r   rY   s     r    rW   zCacheCommand.format_for_abspath£   s>   € Øð 	2Ý�KŠK˜Ÿ	š	¥&¨¡-¤-Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1ð	2ð 	2r"   c                 ó   — t          |¦  «        dk    rt          d¦  «        ‚|st          d¦  «        ‚|                      ||d         ¦  «        }d}|d         dk    r||                      |¦  «        z  }n|d|d         › d�z  }|st                               |¦  «         d}|D ]M}|t          j        |¦  «        j        z  }t          j	        |¦  «         t           
                    d	|¦  «         ŒNt          j        |                      |d
¦  «        ¦  «        }t          j        |                      |d¦  «        ¦  «        }g |¢|¢}	|	D ]p}
	 |
                     ¦   «         D ]}| 	                    d¬¦  «         Œ|
                     ¦   «          n# t"          $ r Y nw xY wt           
                    d	|
¦  «         Œq|                      |d¦  «        }t          j                             |¦  «        r.t          j        |¦  «         t           
                    d¦  «         t                               dt          |¦  «        t-          |¦  «        ¦  «         t                               dt          |	¦  «        ¦  «         d S )Nr2   r;   zPlease provide a patternr   zNo matching packagesr>   z for pattern "ú"z
Removed %sr@   rA   T)Ú
missing_okzselfcheck.jsonz"Removed legacy selfcheck.json filezFiles removed: %s (%s)zDirectories removed: %s)rI   r   rK   rJ   r4   Úwarningr]   ÚstatÚst_sizeÚunlinkÚverboser
   Úsubdirs_without_filesrL   Úsubdirs_without_wheelsÚiterdirÚrmdirÚFileNotFoundErrorr^   Úisfiler'   r%   r   )r   r/   r0   rY   Úno_matching_msgÚbytes_removedrc   Ú	http_dirsÚ
wheel_dirsÚdirsÚsubdirÚfileÚselfcheck_jsons                r    r,   zCacheCommand.remove_cache_items§   sx  € Ýˆt‰9Œ9�qŠ=ˆ=ÝÐ3Ñ4Ô4Ð4àð 	;ÝÐ9Ñ:Ô:Ð:à×!Ò! '¨4°¬7Ñ3Ô3ˆà0ˆØ�Œ7�cŠ>ˆ>à�T×*Ò*¨7Ñ3Ô3Ñ3ˆEˆEð Ð:°°Q´Ð:Ð:Ð:Ñ:ˆOàð 	,Ý�NŠN˜?Ñ+Ô+Ð+àˆØð 	3ð 	3ˆHØ�RœW XÑ.Ô.Ô6Ñ6ˆMÝŒI�hÑÔÐÝ�NŠN˜<¨Ñ2Ô2Ð2Ð2åÔ4°T·_²_ÀWÈfÑ5UÔ5UÑVÔVˆ	ÝÔ6Ø�OŠO˜G XÑ.Ô.ñ
ô 
ˆ
ð )�Ð(˜ZÐ(ˆàð 	1ð 	1ˆFðØ"ŸNšNÑ,Ô,ð 1ð 1�DØ—K’K¨4�KÑ0Ô0Ð0Ð0Ø—’‘”��øÝ$ð ð ð à�ðøøøõ �NŠN˜<¨Ñ0Ô0Ð0Ð0ð Ÿš¨Ð2BÑCÔCˆÝŒ7�>Š>˜.Ñ)Ô)ð 	AÝŒI�nÑ%Ô%Ð%Ý�NŠNÐ?Ñ@Ô@Ð@å�ŠÐ,­c°%©j¬j½+ÀmÑ:TÔ:TÑUÔUÐUÝ�ŠÐ-­s°4©y¬yÑ9Ô9Ð9Ð9Ð9s   ÅAFÆ
FÆFc                 óR   — |rt          d¦  «        ‚|                      |dg¦  «        S )Nr;   r>   )r   r,   r<   s      r    r-   zCacheCommand.purge_cacheÚ   s1   € Øð 	5ÝÐ3Ñ4Ô4Ð4à×&Ò& w°°Ñ6Ô6Ð6r"   rz   c                 óL   — t           j                             |j        |¦  «        S )N)r]   r^   r6   r3   )r   r/   rz   s      r    rL   zCacheCommand._cache_dirà   s   € ÝŒw�|Š|˜GÔ-¨vÑ6Ô6Ð6r"   c                 ó°   — |                       |d¦  «        }|                       |d¦  «        }t          j        |d¦  «        t          j        |d¦  «        z   S )Nr@   r?   r>   ©rL   r
   Ú
find_files)r   r/   Úold_http_dirÚnew_http_dirs       r    rJ   zCacheCommand._find_http_filesã   sV   € Ø—’ w°Ñ7Ô7ˆØ—’ w°	Ñ:Ô:ˆÝÔ$ \°3Ñ7Ô7½*Ô:OØ˜#ñ;
ô ;
ñ 
ð 	
r"   rX   c                 ón   — |                       |d¦  «        }|d|v rdndz   }t          j        ||¦  «        S )NrA   ú-z*.whlz-*.whlr€   )r   r/   rX   Ú	wheel_dirs       r    rK   zCacheCommand._find_wheelsê   s@   € Ø—O’O G¨XÑ6Ô6ˆ	ð$ ¨¨w¨¨˜W˜W¸HÑEˆåÔ$ Y°Ñ8Ô8Ð8r"   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úignore_require_venvÚusager!   ÚdictÚstrr   r   r&   r.   Úintr9   r)   r*   r+   rV   rW   r,   r-   rL   rJ   rK   © r"   r    r   r      sQ  € € € € € ðð ð Ðð€Eð
:ð 
:ð 
:ð 
:ð
˜T # x°¸¸c¼Ð0CÀTÐ0IÔ'JÐ"JÔKð 
ð 
ð 
ð 
ð˜6ð ¨¨c¬ð °sð ð ð ð ð4' Vð '°4¸´9ð 'Àð 'ð 'ð 'ð 'ð( fð (°D¸´Ið (À$ð (ð (ð (ð (ðT+¨ð +°d¸3´ið +ÀDð +ð +ð +ð +ð0 d¨3¤ið 0°Dð 0ð 0ð 0ð 0ð2¨¨S¬	ð 2°dð 2ð 2ð 2ð 2ð1:¨&ð 1:¸¸S¼	ð 1:Àdð 1:ð 1:ð 1:ð 1:ðf7 6ð 7°°c´ð 7¸tð 7ð 7ð 7ð 7ð7 &ð 7°#ð 7¸#ð 7ð 7ð 7ð 7ð
¨ð 
°4¸´9ð 
ð 
ð 
ð 
ð9 Fð 9°Sð 9¸TÀ#¼Yð 9ð 9ð 9ð 9ð 9ð 9r"   r   )r]   rO   Úoptparser   Útypingr   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.exceptionsr   r	   Úpip._internal.utilsr
   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r‡   r4   r   r�   r"   r    ú<module>r™      s   ðØ 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø *Ð *Ð *Ð *Ð *Ð *Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à	ˆ�8Ñ	Ô	€ðo9ð o9ð o9ð o9ð o9�7ñ o9ô o9ð o9ð o9ð o9r"   