§
    ¼ô h«  ã                   ó´   — d dl Z d dlZd dlmZ d dlmZ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)ÚAnyÚList)ÚCommand)ÚERRORÚSUCCESS)ÚCommandErrorÚPipError)Ú
filesystem)Ú	getLogger)Úformat_sizec                   ój  — e Zd ZdZdZdZd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    ú[/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pip/_internal/commands/cache.pyÚadd_optionszCacheCommand.add_options(   sU   € ØŒ× Ò ØØØØØ(ØMð 	!ñ 	
ô 	
ð 	
ð 	Œ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9ó    ÚoptionsÚargsc                 ó  — | j         | j        | j        | j        | j        dœ}|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 )N)ÚdirÚinfoÚlistÚremoveÚpurgez<pip cache commands can not function since cache is disabled.r   zNeed an action (%s) to perform.z, é   )Úget_cache_dirÚget_cache_infoÚlist_cache_itemsÚremove_cache_itemsÚpurge_cacheÚ	cache_dirÚloggerÚerrorr   ÚjoinÚsortedr
   r$   r   )r   r#   r$   Úhandlersr   Úes         r    ÚrunzCacheCommand.run4   s  € àÔ%ØÔ'ØÔ)ØÔ-ØÔ%ð
ð 
ˆð Ô ð 	Ý�LŠLÐWÑXÔXÐXÝˆLð ð 	�t˜A”w hÐ.Ð.Ý�LŠLØ1Ø—	’	�& Ñ*Ô*Ñ+Ô+ñô ð õ ˆLà�a”ˆð	ØˆH�VÔ˜W d¨1¨2¨2¤hÑ/Ô/Ð/Ð/øÝð 	ð 	ð 	Ý�LŠL˜œ œÑ#Ô#Ð#ÝˆLˆLˆLˆLˆLˆLøøøøð	øøøõ ˆs   Â!B< Â<
C<Ã+C7Ã1C<Ã7C<c                 óf   — |rt          d¦  «        ‚t                               |j        ¦  «         d S )NúToo many arguments)r	   r2   r'   r1   ©r   r#   r$   s      r    r,   zCacheCommand.get_cache_dirT   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Ústripr2   r'   )r   r#   r$   rD   Únum_packagesrA   rB   rE   rC   rG   Úmessages              r    r-   zCacheCommand.get_cache_infoZ   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 )Nr+   r:   r   r=   r   )rH   r	   rJ   r   Úformat_for_humanÚformat_for_abspath)r   r#   r$   Ú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"   rX   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:
ú
)
r2   r'   ÚosÚpathÚbasenamer   Úformat_file_sizeÚappendr4   r5   )r   rX   ÚresultsÚfilenameÚwheelÚsizes         r    rU   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[   )r2   r'   r4   r5   )r   rX   s     r    rV   zCacheCommand.format_for_abspath    s>   € Øð 	2Ý�KŠK˜Ÿ	š	¥&¨¡-¤-Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1ð	2ð 	2r"   c                 óX  — 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                               d
t          |¦  «        t          |¦  «        ¦  «         d S )Nr+   r:   zPlease provide a patternr   zNo matching packagesr=   z for pattern "ú"z
Removed %szFiles removed: %s (%s))rH   r	   rJ   rI   r2   Úwarningr\   ÚstatÚst_sizeÚunlinkÚverboser'   r   )r   r#   r$   rX   Úno_matching_msgÚbytes_removedrb   s          r    r/   zCacheCommand.remove_cache_items¤   s/  € Ýˆ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Ý�ŠÐ,­c°%©j¬j½+ÀmÑ:TÔ:TÑUÔUÐUÐUÐUr"   c                 óR   — |rt          d¦  «        ‚|                      |dg¦  «        S )Nr:   r=   )r	   r/   r;   s      r    r0   zCacheCommand.purge_cache¿   s1   € Øð 	5ÝÐ3Ñ4Ô4Ð4à×&Ò& w°°Ñ6Ô6Ð6r"   Úsubdirc                 óL   — t           j                             |j        |¦  «        S )N)r\   r]   r4   r1   )r   r#   rp   s      r    rK   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=   ©rK   r   Ú
find_files)r   r#   Úold_http_dirÚnew_http_dirs       r    rI   zCacheCommand._find_http_filesÈ   sV   € Ø—’ w°Ñ7Ô7ˆØ—’ w°	Ñ:Ô:ˆÝÔ$ \°3Ñ7Ô7½*Ô:OØ˜#ñ;
ô ;
ñ 
ð 	
r"   rW   c                 ón   — |                       |d¦  «        }|d|v rdndz   }t          j        ||¦  «        S )Nr@   ú-z*.whlz-*.whlrs   )r   r#   rW   Ú	wheel_dirs       r    rJ   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!   r   r   ÚstrÚintr8   r   r,   r-   r.   rU   rV   r/   r0   rK   rI   rJ   © r"   r    r   r      s   € € € € € ðð ð Ðð€Eð
:ð 
:ð 
:ð 
:ð˜6ð ¨¨c¬ð °sð ð ð ð ð@' 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ðV¨&ð V¸¸S¼	ð VÀdð Vð Vð Vð Vð6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\   rN   Úoptparser   Útypingr   r   Ú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   rz   r2   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Ñ	Ô	€ðT9ð T9ð T9ð T9ð T9�7ñ T9ô T9ð T9ð T9ð T9r"   