Ë
    ��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y)é    N)ÚValues)ÚAnyÚList)ÚCommand)ÚERRORÚSUCCESS)ÚCommandErrorÚPipError)Ú
filesystem)Ú	getLogger)Úformat_sizec                   ó,  — 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y)Ú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                   j                  dddddd¬«       | j                  j                  d| j                   «       y )	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/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/commands/cache.pyÚadd_optionszCacheCommand.add_options(   sE   € Ø�‰× Ñ ØØØØØ(ØMð 	!ô 	
ð 	�‰×'Ñ'¨¨4¯=©=Õ9ó    ÚoptionsÚargsc                 óð  — | j                   | j                  | j                  | j                  | j                  dœ}|j
                  st        j                  d«       t        S |r|d   |vr4t        j                  ddj                  t        |«      «      «       t        S |d   }	  ||   ||dd  «       t        S # t        $ r2}t        j                  |j                  d   «       t        cY d }~S d }~ww xY w)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ÜˆLñ �t˜A‘w hÑ.Ü�L‰LØ1Ø—	‘	œ& Ó*Ó+ôô ˆLà�a‘ˆð	ØˆH�VÑ˜W d¨1¨2 hÔ/ô
 ˆøô	 ò 	Ü�L‰L˜Ÿ™ ™Ô#Ü�Lûð	ús   Â%B: Â:	C5Ã'C0Ã*C5Ã0C5c                 ó\   — |rt        d«      ‚t        j                  |j                  «       y )NúToo many arguments)r	   r2   r'   r1   ©r   r#   r$   s      r    r,   zCacheCommand.get_cache_dirT   s#   € ÙÜÐ3Ó4Ð4ä�‰�G×%Ñ%Õ&r"   c           	      ó6  — |rt        d«      ‚t        | j                  |«      «      }t        | j                  |d«      «      }| j	                  |d«      }| j	                  |d«      }| j	                  |d«      }t        j                  t        j                  |«      t        j                  |«      z   «      }t        j                  |«      }	t        j                  d«      j                  |||||||	¬«      j                  «       }
t        j                  |
«       y )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   s  € ÙÜÐ3Ó4Ð4ä˜T×2Ñ2°7Ó;Ó<ˆÜ˜4×,Ñ,¨W°cÓ:Ó;ˆà"Ÿo™o¨g°yÓAÐØ"&§/¡/°'¸6Ó"BÐØ $§¡°¸Ó BÐÜ$×0Ñ0Ü×%Ñ%Ð&9Ó:Ü×'Ñ'Ð(?Ó@ñAó
ˆô '×<Ñ<Ð=RÓSÐô �O‰Oðó
÷ ‰VØ$7Ø(?Ø /Ø-Ø&;Ø*Ø"3ð ó ÷ ‰U‹Wð+ 	ô0 	�‰�GÕr"   c                 óÒ   — t        |«      dkD  rt        d«      ‚|r|d   }nd}| j                  ||«      }|j                  dk(  r| j	                  |«       y | j                  |«       y )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„   sf   € Üˆt‹9�qŠ=ÜÐ3Ó4Ð4áØ˜1‘g‰GàˆGà×!Ñ! '¨7Ó3ˆØ×Ñ 'Ò)Ø×!Ñ! %Õ(à×#Ñ# EÕ*r"   rX   c                 ób  — |st         j                  d«       y g }|D ]N  }t        j                  j	                  |«      }t        j                  |«      }|j                  d|› d|› d�«       ŒP t         j                  d«       t         j                  dj                  t        |«      «      «       y )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Ô:ØàˆØò 	3ˆHÜ—G‘G×$Ñ$ XÓ.ˆEÜ×.Ñ.¨xÓ8ˆDØ�N‰N˜S   r¨$¨¨qÐ1Õ2ð	3ô 	�‰Ð'Ô(Ü�‰�D—I‘Iœf W›oÓ.Õ/r"   c                 ód   — |r.t         j                  dj                  t        |«      «      «       y y )Nr[   )r2   r'   r4   r5   )r   rX   s     r    rV   zCacheCommand.format_for_abspath    s#   € ÙÜ�K‰K˜Ÿ	™	¤&¨£-Ó0Õ1ð r"   c                 óü  — t        |«      dkD  rt        d«      ‚|st        d«      ‚| j                  ||d   «      }d}|d   dk(  r|| j                  |«      z  }n|d|d   › d�z  }|st        j                  |«       d}|D ]O  }|t        j                  |«      j                  z  }t        j                  |«       t        j                  d	|«       ŒQ t        j                  d
t        |«      t        |«      «       y )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�qŠ=ÜÐ3Ó4Ð4áÜÐ9Ó:Ð:à×!Ñ! '¨4°©7Ó3ˆà0ˆØ�‰7�cŠ>à�T×*Ñ*¨7Ó3Ñ3‰Eð  °°Q±¨y¸Ð:Ñ:ˆOáÜ�N‰N˜?Ô+àˆØò 	3ˆHØœRŸW™W XÓ.×6Ñ6Ñ6ˆMÜ�I‰I�hÔÜ�N‰N˜<¨Õ2ð	3ô 	�‰Ð,¬c°%«j¼+ÀmÓ:TÕUr"   c                 óB   — |rt        d«      ‚| j                  |dg«      S )Nr:   r=   )r	   r/   r;   s      r    r0   zCacheCommand.purge_cache¿   s&   € ÙÜÐ3Ó4Ð4à×&Ñ& w°°Ó6Ð6r"   Úsubdirc                 óV   — t         j                  j                  |j                  |«      S )N)r\   r]   r4   r1   )r   r#   rp   s      r    rK   zCacheCommand._cache_dirÅ   s   € Ü�w‰w�|‰|˜G×-Ñ-¨vÓ6Ð6r"   c                 ó¤   — | j                  |d«      }| j                  |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È   sN   € Ø—‘ w°Ó7ˆØ—‘ w°	Ó:ˆÜ×$Ñ$ \°3Ó7¼*×:OÑ:OØ˜#ó;
ñ 
ð 	
r"   rW   c                 óh   — | j                  |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Ï   s9   € Ø—O‘O G¨XÓ6ˆ	ð$ ¨¨w©™W¸HÑEˆä×$Ñ$ Y°Ó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      sR  „ ñð Ðð€Eó
:ð˜6ð ¨¨c©ð °só ð@' Vð '°4¸±9ð 'Àó 'ð( fð (°D¸±Ið (À$ó (ðT+¨ð +°d¸3±ið +ÀDó +ð0 d¨3¡ið 0°Dó 0ð2¨¨S©	ð 2°dó 2ðV¨&ð V¸¸S¹	ð VÀdó Vð67 6ð 7°°c±ð 7¸tó 7ð7 &ð 7°#ð 7¸#ó 7ð
¨ð 
°4¸±9ó 
ð9 Fð 9°Sð 9¸TÀ#¹Yô 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ß 9ß ;Ý *Ý 1Ý 0á	�8Ó	€ôT9�7õ T9r"   