Viewing File: /opt/alt/python38/lib/python3.8/site-packages/__pycache__/async_lru.cpython-38.opt-1.pyc

U

Wz8\@sddlZddlmZddlmZmZmZmZzddlmZWne	k
rZe
edZYnXdZdZdd	Z
d
dZdd
ZddZddZddZddddddZejddZddZddZdd Zd!d"Zd#d$Zd%d&Zd+ddddd(d)d*ZdS),N)OrderedDict)
_CacheInfo	_make_keypartialwraps)
ensure_futureasyncz1.0.2)
alru_cachecCs0z
|WStk
r*tj|dYSXdS)Nloop)
create_futureAttributeErrorasyncioZFuturer
r:/opt/alt/python38/lib/python3.8/site-packages/async_lru.pyrs
rcCst|dr|j}q|S)Nfunc)hasattrr)fnrrr	unpartials
rcCsD|r|dS|}|dk	r2||dS||dSN)Z	cancelledcancelZ	exceptionZ
set_exceptionZ
set_resultresult)futtaskexcrrr_done_callbacks
rcOs*t|||}||jk}|r&|j||Sr)r_cachepop)wrappedtypedargskwargskeyexistsrrr_cache_invalidate*s

r$cCs d|_|_t|_t|_dS)Nr)hitsmissesrrsettasks)rrrr_cache_clear5sr)cCs`|jstd|j|jkoDt|jkoDt|jkoDdkn}|sVtdd|_dS)Nzalru_cache is not closedrz#alru_cache was not closed correctlyF)closedRuntimeErrorr%r&lenr(r)rZ
was_closedrrr_open;sr-FT)rreturn_exceptionsrcCsB|jrtdd|_|r4|jD]}|s|qt|||dS)Nzalru_cache is closedTr.r)r*r+r(doner_wait_closed)rrr.rrrrr_closeMs

r2ccsV|dkrt}tj|j||d}|tt||EdH}tjd|dEdH|S)Nr/rr
)rget_event_loopZgatherr(add_done_callbackr
_close_waitedsleep)rr.rZwait_closedZretrrrr1_s
r1cCs|dSr)cache_clear)r_rrrr5tsr5cCst|j|j|t|jSr)rr%r&r,r)rmaxsizerrr_cache_infoxsr:cCs*z|j|Wntk
r$YnXdSr)rmove_to_endKeyErrorrr"rrr
__cache_touchsr>cCs|jd7_t||dSN)r%r>r=rrr
_cache_hitsrAcCs|jd7_t||dSr?)r&r>r=rrr_cache_misssrBcCsZt|tr@|r6t|dd}|dkr*|d}t||}qV||}n|dkrRt}n|}|S)N__self__r)
isinstancestrgetattrrr3)clsr!rfn_args	fn_kwargsrZ_self_looprrr	_get_loops


rK)rGr!cache_exceptionsrcsNfdd}|dkr"|St|s4t|dr<||Std|dS)Nc
st}t|s tdtdr2ttjfddt	|_
d_tt
_tt	_tt_tt_tt_S)Nz&Coroutine function is required, got {}_make_unbound_methodc?s:jrtdtj||d}t||}j|}|dk	r|spt	|t
j||dEdHS|j}|dksrt	||
Sj|t|d}||}t||d}|tt|j||jj|j|<dk	rtjkrjjddt|t
j||dEdHS)Nzalru_cache is closed for {}r
F)Zlast)r*r+formatrK_originrrgetr0rArZshieldZ
_exceptionrrrrr4rrr(addremover,popitemrB)rHrIrJr"rrcoror)rMrGrr!rr9rrrrrsD	





z,alru_cache.<locals>.wrapper.<locals>.wrappedF)rrZiscoroutinefunctionr+rOrrNr	coroutiner)rPr*rr:
cache_infor7r$Z
invalidater2closer-open)rrPrMrGr!rr9r)rrrwrappers&

0zalru_cache.<locals>.wrapperrNz{} decorating is not supported)callablerNotImplementedErrorrO)rr9rrGr!rMrr[rrZrr	s
Hr	)NrLF)rcollectionsr	functoolsrrrrrImportErrorrF__version____all__rrrr$r)r-r2rVr1r5r:r>rArBrKr	rrrr<module>s@

	
Back to Directory File Manager