관리-도구
편집 파일: cache.cpython-310.pyc
o ƚRe4 � @ s� d Z ddlZddlmZ ddlmZmZ ddlmZ ddl m Z ddlmZ ddl mZmZ dd lmZ d edefdd �Zeded fdd��ZG dd� de�ZdS )zHTTP cache implementation. � N)�contextmanager)�Iterator�Optional)� BaseCache)� FileCache)�Response)�adjacent_tmp_file�replace)� ensure_dir�response�returnc C s t | dd�S )N� from_cacheF)�getattr)r � r ��/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-3.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/network/cache.py� is_from_cache s r c c s$ � zdV W dS t y Y dS w )zvIf we can't access the cache then we can just skip caching and process requests as if caching wasn't enabled. N)�OSErrorr r r r �suppressed_cache_errors s ��r c sz e Zd ZdZdeddf� fdd�Zdedefdd �Zd edee fdd�Z d ed eddfdd�Z d eddfdd�Z� ZS )� SafeFileCachezw A file based cache which is safe to use even when the target directory may not be accessible or writable. � directoryr Nc s$ |d usJ d��t � �� || _d S )Nz!Cache directory must not be None.)�super�__init__r )�selfr �� __class__r r r % s zSafeFileCache.__init__�namec C s6 t �|�}t|d d� �|g }tjj| jg|�R � S )N� )r �encode�list�os�path�joinr )r r �hashed�partsr r r �_get_cache_path* s zSafeFileCache._get_cache_path�keyc C sv | � |�}t� �) t|d��}|�� W d � W d � S 1 s$w Y W d � d S 1 s4w Y d S )N�rb)r$ r �open�read)r r% r �fr r r �get2 s ��"�zSafeFileCache.get�valuec C s� | � |�}t� �0 ttj�|�� t|�� }|�|� W d � n1 s%w Y t|j |� W d � d S 1 s;w Y d S �N) r$ r r r r �dirnamer �writer r )r r% r+ r r) r r r �set8 s �"�zSafeFileCache.setc C s@ | � |�}t� � t�|� W d � d S 1 sw Y d S r, )r$ r r �remove)r r% r r r r �deleteB s "�zSafeFileCache.delete) �__name__� __module__�__qualname__�__doc__�strr r$ r �bytesr* r/ r1 � __classcell__r r r r r s r )r5 r � contextlibr �typingr r Zpip._vendor.cachecontrol.cacher �pip._vendor.cachecontrol.cachesr Zpip._vendor.requests.modelsr �pip._internal.utils.filesystemr r �pip._internal.utils.miscr �boolr r r r r r r �<module> s