<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
Re	                 @   s   d 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	 ddl
mZmZ ddlmZ dd	lmZ erxdd
lmZmZ dd Zedd ZG dd deZdS )zHTTP cache implementation.
    N)contextmanager)	BaseCache)	FileCache)Response)adjacent_tmp_filereplace)
ensure_dir)MYPY_CHECK_RUNNING)OptionalIteratorc             C   s   t | ddS )N
from_cacheF)getattr)response r   /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/network/cache.pyis_from_cache   s    r   c               c   s(   y
dV  W n t tfk
r"   Y nX dS )zvIf we can't access the cache then we can just skip caching and process
    requests as if caching wasn't enabled.
    N)OSErrorIOErrorr   r   r   r   suppressed_cache_errors   s    
r   c                   s@   e Zd ZdZ fddZdd Zdd Zdd	 Zd
d Z  Z	S )SafeFileCachezw
    A file based cache which is safe to use even when the target directory may
    not be accessible or writable.
    c                s(   |d k	st dtt| j  || _d S )Nz!Cache directory must not be None.)AssertionErrorsuperr   __init__	directory)selfr   )	__class__r   r   r   *   s    zSafeFileCache.__init__c             C   s4   t j|}t|d d |g }tjj| jf| S )N   )r   encodelistospathjoinr   )r   namehashedpartsr   r   r   _get_cache_path0   s    
zSafeFileCache._get_cache_pathc             C   s:   | j |}t   t|d
}|j S Q R X W d Q R X d S )Nrb)r%   r   openread)r   keyr    fr   r   r   get9   s    
zSafeFileCache.getc             C   sZ   | j |}t @ ttjj| t|}|j| W d Q R X t|j	| W d Q R X d S )N)
r%   r   r   r   r    dirnamer   writer   r"   )r   r)   valuer    r*   r   r   r   set@   s    

zSafeFileCache.setc          	   C   s*   | j |}t  tj| W d Q R X d S )N)r%   r   r   remove)r   r)   r    r   r   r   deleteK   s    
zSafeFileCache.delete)
__name__
__module____qualname____doc__r   r%   r+   r/   r1   __classcell__r   r   )r   r   r   $   s   	r   )r5   r   
contextlibr   Zpip._vendor.cachecontrol.cacher   pip._vendor.cachecontrol.cachesr   Zpip._vendor.requests.modelsr   pip._internal.utils.filesystemr   r   pip._internal.utils.miscr   pip._internal.utils.typingr	   typingr
   r   r   r   r   r   r   r   r   <module>   s   