Ë
    ”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y)é    N)ÚValues)ÚCallable)ÚCommand)ÚERRORÚSUCCESS)ÚCommandErrorÚPipError)Ú
filesystem)Ú	getLogger)Úformat_sizec                   óV  — 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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    ú^C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_internal/commands/cache.pyÚadd_optionszCacheCommand.add_options(   sE   € Ø�‰× Ñ ØØØØØ(ØMð 	!ô 	
ð 	�‰×'Ñ'¨¨4¯=©=Õ9ó    c                 óv   — | 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   s9   € à×%Ñ%Ø×'Ñ'Ø×)Ñ)Ø×-Ñ-Ø×%Ñ%ñ
ð 	
r"   ÚoptionsÚargsc                 óœ  — | j                  «       }|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)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ÜˆLñ �t˜A‘w kÑ1Ü�L‰LØ1Ø—	‘	œ& Ó-Ó.ôô ˆLà�a‘ˆð	ØˆK˜Ñ ¨¨a¨b¨Ô2ô
 ˆøô	 ò 	Ü�L‰L˜Ÿ™ ™Ô#Ü�Lûð	ús   Á;B Â	CÂ'CÃ CÃCc                 ó\   — |rt        d«      ‚t        j                  |j                  «       y )NúToo many arguments)r   r4   r%   r3   ©r   r/   r0   s      r    r)   zCacheCommand.get_cache_dirW   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Ústripr4   r%   )r   r/   r0   rE   Únum_packagesrB   rC   rF   rD   rH   Úmessages              r    r*   zCacheCommand.get_cache_info]   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 )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‡   sf   € Üˆt‹9�qŠ=ÜÐ3Ó4Ð4áØ˜1‘g‰GàˆGà×!Ñ! '¨7Ó3ˆØ×Ñ 'Ò)Ø×!Ñ! %Õ(à×#Ñ# EÕ*r"   rY   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:
Ú
)
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Ô:ØàˆÛˆHÜ—G‘G×$Ñ$ XÓ.ˆEÜ×.Ñ.¨xÓ8ˆDØ�N‰N˜S   r¨$¨¨qÐ1Õ2ð ô 	�‰Ð'Ô(Ü�‰�D—I‘Iœf W›oÓ.Õ/r"   c                 ód   — |r.t         j                  dj                  t        |«      «      «       y y )Nr\   )r4   r%   r6   r7   )r   rY   s     r    rW   zCacheCommand.format_for_abspath£   s#   € ÙÜ�K‰K˜Ÿ	™	¤&¨£-Ó0Õ1ð r"   c                 óX  — 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                  | j                  |d
«      «      }t        j                  | j                  |d«      «      }g |¢|¢}	|	D ]P  }
	 |
j                  «       D ]  }|j                  d¬«       Œ |
j!                  «        t        j                  d	|
«       ŒR | j                  |d«      }t        j$                  j'                  |«      r*t        j(                  |«       t        j                  d«       t        j+                  dt        |«      t-        |«      «       t        j+                  dt        |	«      «       y # t"        $ r Y ŒÇw xY w)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§   sÝ  € Üˆt‹9�qŠ=ÜÐ3Ó4Ð4áÜÐ9Ó:Ð:à×!Ñ! '¨4°©7Ó3ˆà0ˆØ�‰7�cŠ>à�T×*Ñ*¨7Ó3Ñ3‰Eð  °°Q±¨y¸Ð:Ñ:ˆOáÜ�N‰N˜?Ô+àˆÛˆHØœRŸW™W XÓ.×6Ñ6Ñ6ˆMÜ�I‰I�hÔÜ�N‰N˜<¨Õ2ð ô
 ×4Ñ4°T·_±_ÀWÈfÓ5UÓVˆ	Ü×6Ñ6Ø�O‰O˜G XÓ.ó
ˆ
ð )�Ð(˜ZÐ(ˆãˆFðØ"ŸN™NÖ,�DØ—K‘K¨4�KÕ0ð -à—‘”ô �N‰N˜<¨Õ0ð ð Ÿ™¨Ð2BÓCˆÜ�7‰7�>‰>˜.Ô)Ü�I‰I�nÔ%Ü�N‰NÐ?Ô@ä�‰Ð,¬c°%«j¼+ÀmÓ:TÔUÜ�‰Ð-¬s°4«yÕ9øô %ò áðús   Ä*7HÈ	H)È(H)c                 óB   — |rt        d«      ‚| j                  |dg«      S )Nr;   r>   )r   r,   r<   s      r    r-   zCacheCommand.purge_cacheÚ   s&   € ÙÜÐ3Ó4Ð4à×&Ñ& w°°Ó6Ð6r"   rz   c                 óV   — t         j                  j                  |j                  |«      S )N)r]   r^   r6   r3   )r   r/   rz   s      r    rL   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>   ©rL   r
   Ú
find_files)r   r/   Úold_http_dirÚnew_http_dirs       r    rJ   zCacheCommand._find_http_filesã   sN   € Ø—‘ w°Ó7ˆØ—‘ w°	Ó:ˆÜ×$Ñ$ \°3Ó7¼*×:OÑ:OØ˜#ó;
ñ 
ð 	
r"   rX   c                 óh   — | j                  |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ê   s9   € Ø—O‘O G¨XÓ6ˆ	ð$ ¨¨w©™W¸HÑEˆä×$Ñ$ Y°Ó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      sw  „ ñð Ðð€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ð2¨¨S©	ð 2°dó 2ð1:¨&ð 1:¸¸S¹	ð 1:Àdó 1:ðf7 6ð 7°°c±ð 7¸tó 7ð7 &ð 7°#ð 7¸#ó 7ð
¨ð 
°4¸±9ó 
ð9 Fð 9°Sð 9¸TÀ#¹Yô 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ß 9ß ;Ý *Ý 1Ý 0á	�8Ó	€ôo9�7õ o9r"   