HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/cache.cpython-38.pyc
U

�{�e�@s�ddlZddlZddlmZddlmZmZddlmZddl	m
Z
mZddlm
Z
mZddlmZddlmZee�ZGd	d
�d
e�ZdS)�N)�Values)�Any�List)�Command)�ERROR�SUCCESS)�CommandError�PipError)�
filesystem)�	getLoggerc@seZdZdZdZdZdd�dd�Zeee	e
d�d	d
�Zeeedd�dd�Z
eeedd�d
d�Zeeedd�dd�Zee	dd�dd�Zee	dd�dd�Zeeedd�dd�Zeeedd�dd�Zee	e	d�dd�Zeee	d�dd�Zee	ee	d �d!d"�ZdS)#�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
    N)�returncCs,|jjddddddd�|j�d|j�dS)	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)�self�r�@/tmp/pip-unpacked-wheel-_0scjqea/pip/_internal/commands/cache.py�add_options's�	zCacheCommand.add_options)�options�argsr
c
Cs�|j|j|j|j|jd�}|js.t�d�tS|r>|d|krXt�dd�	t
|���tS|d}z||||dd��Wn:tk
r�}zt�|jd�tWY�Sd}~XYnXt
S)N)�dir�info�list�remove�purgez<pip cache commands can not function since cache is disabled.rzNeed 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)rrr �handlersr�errr�run3s,�
�zCacheCommand.runcCs|rtd��t�|j�dS)N�Too many arguments)rr-r"r,�rrr rrrr'SszCacheCommand.get_cache_dirc	Cs�|rtd��t|�|��}t|�|d��}|�|d�}|�|d�}|�|d�}t�t�|�t�|��}t�|�}	t	�
d�j|||||||	d���}
t
�|
�dS)Nr4�*�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_locationZ
package_count�wheels_cache_size)r�len�_find_http_files�_find_wheels�
_cache_dirr
�format_size�directory_size�format_directory_size�textwrap�dedent�format�stripr-r")rrr r=Znum_packagesr:r;r>r<r?�messagerrrr(Ys4��
���zCacheCommand.get_cache_infocCsVt|�dkrtd��|r"|d}nd}|�||�}|jdkrH|�|�n
|�|�dS)Nr&r4rr6r)r@rrBr�format_for_human�format_for_abspath)rrr �pattern�filesrrrr)�s

zCacheCommand.list_cache_items)rOr
cCsp|st�d�dSg}|D]2}tj�|�}t�|�}|�d|�d|�d��qt�d�t�d�t	|���dS)NzNo locally built wheels cached.z - z (�)zCache contents:
�
)
r-r"�os�path�basenamer
�format_file_size�appendr/r0)rrO�results�filename�wheel�sizerrrrL�s


zCacheCommand.format_for_humancCs|rt�d�t|���dS)NrQ)r-r"r/r0)rrOrrrrM�szCacheCommand.format_for_abspathcCs�t|�dkrtd��|s td��|�||d�}d}|ddkrP||�|�7}n|d�|d�7}|spt�|�|D]}t�|�t�	d|�qtt�
d	t|��dS)
Nr&r4zPlease provide a patternrzNo matching packagesr6z for pattern "{}"z
Removed %szFiles removed: %s)r@rrBrArIr-�warningrR�unlink�verboser")rrr rOZno_matching_msgrXrrrr*�s

zCacheCommand.remove_cache_itemscCs|rtd��|�|dg�S)Nr4r6)rr*r5rrrr+�szCacheCommand.purge_cache)r�subdirr
cCstj�|j|�S)N)rRrSr/r,)rrr^rrrrC�szCacheCommand._cache_dir)rr
cCs0|�|d�}|�|d�}t�|d�t�|d�S)Nr8r7r6�rCr
�
find_files)rrZold_http_dirZnew_http_dirrrrrA�s�zCacheCommand._find_http_files)rrNr
cCs,|�|d�}|d|krdnd}t�||�S)Nr9�-z*.whlz-*.whlr_)rrrN�	wheel_dirrrrrB�szCacheCommand._find_wheels)�__name__�
__module__�__qualname__�__doc__�ignore_require_venv�usagerrr�str�intr3rr'r(r)rLrMr*r+rCrArBrrrrrs *
r)rRrG�optparser�typingrr�pip._internal.cli.base_commandr�pip._internal.cli.status_codesrr�pip._internal.exceptionsrr	Zpip._internal.utilsr
�pip._internal.utils.loggingrrcr-rrrrr�<module>s