a
lj% @ s4 d Z ddlmZ G dd deZG dd deZdS )zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
)Lockc @ s, e Zd Zdd Zdd Zdd Zdd Zd S )
BaseCachec C s
t d S NNotImplementedErrorselfkey r
B/usr/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.pyget
s z
BaseCache.getc C s
t d S r r r r valuer
r
r set
s z
BaseCache.setc C s
t d S r r r r
r
r delete s zBaseCache.deletec C s d S r r
)r r
r
r close s zBaseCache.closeN)__name__
__module____qualname__r r r r r
r
r
r r s r c @ s. e Zd Zd
ddZdd Zdd Zdd ZdS ) DictCacheNc C s t | _|pi | _d S r )r lockdata)r Z init_dictr
r
r __init__ s zDictCache.__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 n1 s,0 Y d S r )r r updater
r
r
r r s z
DictCache.setc C s@ | j & || jv r| j| W d n1 s20 Y d S r )r r popr r
r
r r $ s
zDictCache.delete)N)r r r r r r r r
r
r
r r s
r N)__doc__ threadingr objectr r r
r
r
r