§
    ÷„tj  ã                   ó¨   — 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  ee¦  «        Z G d	„ d
e¦  «        ZdS )é    N)ÚValues)ÚAnyÚList)ÚCommand)ÚERRORÚSUCCESS)ÚCommandErrorÚPipError)Ú
filesystem)Ú	getLoggerc                   ó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    úZ/var/www/html/CA-Chatbot/venv/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.run3   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	   r1   r&   r0   ©r   r"   r#   s      r   r+   zCacheCommand.get_cache_dirS   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 )Nr9   Ú*ú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   Úformat_sizeÚdirectory_sizeÚformat_directory_sizeÚtextwrapÚdedentÚformatÚstripr1   r&   )r   r"   r#   rC   Únum_packagesr@   rA   rD   rB   rF   Úmessages              r   r,   zCacheCommand.get_cache_infoY   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*   r9   r   r<   r   )rG   r	   rI   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:
ú
)
r1   r&   ÚosÚpathÚbasenamer   Úformat_file_sizeÚappendr3   r4   )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[   )r1   r&   r3   r4   )r   rX   s     r   rV   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 ]1}t          j        |¦  «         t                               d	|¦  «         Œ2t           	                    d
t          |¦  «        ¦  «         d S )Nr*   r9   zPlease provide a patternr   zNo matching packagesr<   z for pattern "ú"z
Removed %szFiles removed: %s)
rG   r	   rI   rH   r1   Úwarningr\   ÚunlinkÚverboser&   )r   r"   r#   rX   Úno_matching_msgrb   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ÝŒI�hÑÔÐÝ�NŠN˜<¨Ñ2Ô2Ð2Ð2Ý�ŠÐ'­¨U©¬Ñ4Ô4Ð4Ð4Ð4r!   c                 óR   — |rt          d¦  «        ‚|                      |dg¦  «        S )Nr9   r<   )r	   r.   r:   s      r   r/   zCacheCommand.purge_cache¼   s1   € Øð 	5ÝÐ3Ñ4Ô4Ð4à×&Ò& w°°Ñ6Ô6Ð6r!   Úsubdirc                 óL   — t           j                             |j        |¦  «        S )N)r\   r]   r3   r0   )r   r"   rm   s      r   rJ   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<   ©rJ   r   Ú
find_files)r   r"   Úold_http_dirÚnew_http_dirs       r   rH   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-*.whlrp   )r   r"   rW   Ú	wheel_dirs       r   rI   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Úintr7   r   r+   r,   r-   rU   rV   r.   r/   rJ   rH   rI   © 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ð5¨&ð 5¸¸S¼	ð 5Àdð 5ð 5ð 5ð 5ð2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   rw   r1   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à	ˆ�8Ñ	Ô	€ðR9ð R9ð R9ð R9ð R9�7ñ R9ô R9ð R9ð R9ð R9r!   