hdZddlmZddlmZddlmZmZmZerddl m Z GddZ Gdd e Z Gd d e Z d S) zb The cache object API for implementing caches. The default is a thread safe in-memory dictionary. ) annotations)Lock)IO TYPE_CHECKINGMutableMapping)datetimec2eZdZddZ ddd Zdd ZddZdS) BaseCachekeystrreturn bytes | NonectNNotImplementedErrorselfr s ~/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/cache.pygetz BaseCache.get!###Nvaluebytesexpiresint | datetime | NoneNonectrrrr rrs rsetz BaseCache.sets"###rctrrrs rdeletezBaseCache.deleterrcdSr)rs rclosezBaseCache.closes rr r r rrr r rrrrr rr r r r)r r)__name__ __module__ __qualname__rr r"r%r$rrr r sp$$$$HL$$$$$ $$$$      rr c4eZdZdddZdd Z dddZddZdS) DictCacheN init_dict!MutableMapping[str, bytes] | Noner rc>t|_|pi|_dSr)rlockdata)rr.s r__init__zDictCache.__init__$sFF O rr r rc8|j|dSr)r2rrs rrz DictCache.get(sy}}S$'''rrrrrc~|j5|j||iddddS#1swxYwYdSr)r1r2updaters rr z DictCache.set+sY + + I  c5\ * * * + + + + + + + + + + + + + + + + + +s 266c|j5||jvr|j|ddddS#1swxYwYdSr)r1r2poprs rr"zDictCache.delete1s Y # #di c""" # # # # # # # # # # # # # # # # # #s $9==r)r.r/r rr&r'r()r)r*r+r3rr r"r$rrr-r-#su$$$$$((((HL+++++ ######rr-c"eZdZdZd dZd d Zd S)SeparateBodyBaseCacheag In this variant, the body is not stored mixed in with the metadata, but is passed in (as a bytes-like object) in a separate call to ``set_body()``. That is, the expected interaction pattern is:: cache.set(key, serialized_metadata) cache.set_body(key) Similarly, the body should be loaded separately via ``get_body()``. r r bodyrr rctrr)rr r;s rset_bodyzSeparateBodyBaseCache.set_bodyDrrIO[bytes] | Nonect)z6 Return the body as file-like object. rrs rget_bodyzSeparateBodyBaseCache.get_bodyGs"###rN)r r r;rr r)r r r r>)r)r*r+__doc__r=r@r$rrr:r:7sF  $$$$$$$$$$rr:N) rA __future__r threadingrtypingrrrrr r-r:r$rrrEs  #"""""4444444444"!!!!!!         ##### ###($$$$$I$$$$$r