o
    ~Āg                     @   s4   d Z ddlmZ G dd deZG dd deZdS )zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
    )Lockc                   @   s.   e Zd Zdd Zd
ddZdd Zdd	 ZdS )	BaseCachec                 C      t  NNotImplementedErrorselfkey r   R/var/www/html/myenv/lib/python3.10/site-packages/pip/_vendor/cachecontrol/cache.pyget      zBaseCache.getNc                 C   r   r   r   r	   r
   valueexpiresr   r   r   set   r   zBaseCache.setc                 C   r   r   r   r   r   r   r   delete   r   zBaseCache.deletec                 C   s   d S r   r   )r	   r   r   r   close   s   zBaseCache.closer   )__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s
    
r   c                   @   s0   e Zd Zd
ddZdd Zd
ddZdd	 ZdS )	DictCacheNc                 C   s   t  | _|pi | _d S r   )r   lockdata)r	   	init_dictr   r   r   __init__   s   zDictCache.__init__c                 C   s   | j |d S r   )r   r   r   r   r   r   r   !   s   zDictCache.getc                 C   s<   | j  | j||i W d    d S 1 sw   Y  d S r   )r   r   updater   r   r   r   r   $   s   "zDictCache.setc                 C   sR   | j  || jv r| j| W d    d S W d    d S 1 s"w   Y  d S r   )r   r   popr   r   r   r   r   (   s   
"zDictCache.deleter   )r   r   r   r   r   r   r   r   r   r   r   r      s
    

r   N)__doc__	threadingr   objectr   r   r   r   r   r   <module>   s   