zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
U
K±dê>ã@sTddlZddlmZddlmZddlZddlmZmZmZm    Z    ddl
Z Gdd„dƒZ dd„Z d    d
„Zd d „Zed d„ƒZd&dd„Zdd„ZGdd„dƒZeƒZzddlmZmZWnXek
r ddlZe  dd¡ZGdd„dejƒZeƒZdd„Zeefdd„ZYnXGdd„dƒZe e j!dƒr8e j!j "e¡d d!„Z#d"d#„Z$d$d%„Z%dS)'éN)Úwraps)Ú    coroutine)ÚgetcoroutinestateÚ CORO_CREATEDÚ CORO_CLOSEDÚCORO_SUSPENDEDc@seZdZdd„ZdS)Ú YieldWrappercCs
||_dS©N©Úpayload)Úselfr ©r úLd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\async_generator/_impl.pyÚ__init__ szYieldWrapper.__init__N©Ú__name__Ú
__module__Ú __qualname__rr r r rr srcCst|ƒSr    )r©Úvaluer r rÚ_wrapsrcCs
t|tƒSr    )Ú
isinstancer©Zboxr r rÚ _is_wrappedsrcCs|jSr    r
rr r rÚ_unwrapsrccs
t|ƒVSr    )rrr r rÚ_yield_asrcÃst|ƒIdHSr    )rrr r rÚyield_isrc     Ãsèdd„}t|ƒ |¡}t|dƒr*|IdH}zt|ƒ |¡IdH}Wn,tk
rn}z ||ƒ}W5d}~XYnvXzt|ƒIdH}Wnòtk
rÔ}z4z
|j}Wntk
r²YnX|ƒIdH|‚W5d}~XYqpt    k
rt}z‚t
  ¡}z
|j }Wntk
r|‚YnRXz||ŽIdH}Wn<tk
rb}z||ƒ}WY¢WY¢qäW5d}~XYnXW5d}~XYqpXz4|dkr˜t|ƒ |¡IdH}n|  |¡IdH}Wqptk
rà}z||ƒ}WY¢qäW5d}~XYqpXqp|S)NcSs|jr|jdSdSdS)Nr)Úargs)Úer r rÚunpack_StopAsyncIterationys
z.yield_from_.<locals>.unpack_StopAsyncIterationÚ    __await__)ÚtypeÚ    __aiter__ÚhasattrÚ    __anext__ÚStopAsyncIterationrÚ GeneratorExitÚacloseÚAttributeErrorÚ BaseExceptionÚsysÚexc_infoÚathrowÚasend)    ZdelegaterZ_iZ_yÚ_eÚ_rZ_sÚ_mÚ_xr r rÚ yield_from_msH 
 
 
 
 
4
r2c@s>eZdZdd„Zdd„Zdd„Zdd„Zdd
d „Zd d „Zd    S)Ú    ANextItercGs||_||_||_dSr    )Ú_itÚ    _first_fnÚ _first_args)r ÚitÚfirst_fnÚ
first_argsr r rr¸szANextIter.__init__cCs|Sr    r ©r r r rr ½szANextIter.__await__cCsD|jdk    r2|j}|j}d|_|_|j|f|žŽS| |jj¡SdSr    )r5r6Ú_invoker4Ú__next__)r r8r9r r rr<Às 
 zANextIter.__next__cCs| |jj|¡Sr    )r;r4Úsend©r rr r rr=ÉszANextIter.sendNcCs| |jj|||¡Sr    )r;r4Úthrow©r r!rÚ    tracebackr r rr?ÌszANextIter.throwc
Gs‚z ||Ž}WnVtk
r8}zt|jƒ‚W5d}~XYn,tk
rb}ztdƒ|‚W5d}~XYnXt|ƒrztt|ƒƒ‚n|SdS)Nz(async_generator raise StopAsyncIteration)Ú StopIterationr%rÚ RuntimeErrorrr)r ÚfnrÚresultrr r rr;Ïs ÿþzANextIter._invoke)NN)    rrrrr r<r=r?r;r r r rr3·s     
r3)Úget_asyncgen_hooksÚset_asyncgen_hooksÚasyncgen_hooks©Ú    firstiterÚ    finalizerc@seZdZdd„ZdS)Ú_hooks_storagecCsd|_d|_dSr    rIr:r r rrðsz_hooks_storage.__init__Nrr r r rrLïsrLcCsttjtjdS)NrI)rHÚ_hooksrJrKr r r rrFösÿrFcCsl|tk    r4|dkst|ƒr |t_ntd t|ƒj¡ƒ‚|tk    rh|dksLt|ƒrT|t_ntd t|ƒj¡ƒ‚dS)Nz#callable firstiter expected, got {}z#callable finalizer expected, got {})    Ú UNSPECIFIEDÚcallablerMrJÚ    TypeErrorÚformatr!rrKrIr r rrGûs ÿÿÿÿrGc@s€eZdZeƒZdd„Zejdkr*dd„Zndd„Ze    dd„ƒZ
e    d    d
„ƒZ d d „Z d d„Z ddd„Zdd„Zdd„Zdd„ZdS)ÚAsyncGeneratorcCs,||_| ¡|_d|_d|_d|_d|_dS)NF)Ú
_coroutiner r4Ú
ag_runningÚ
_finalizerÚ_closedÚ _hooks_inited)r rr r rr#s 
zAsyncGenerator.__init__)ééécÃs|Sr    r r:r r rr"4szAsyncGenerator.__aiter__cCs|Sr    r r:r r rr"8scCs|jjSr    )rSÚcr_coder:r r rÚag_code?szAsyncGenerator.ag_codecCs|jjSr    )rSÚcr_framer:r r rÚag_frameCszAsyncGenerator.ag_framecCs| |jj¡Sr    )Ú_do_itr4r<r:r r rr$PszAsyncGenerator.__anext__cCs| |jj|¡Sr    )r_r4r=r>r r rr-SszAsyncGenerator.asendNcCs| |jj|||¡Sr    )r_r4r?r@r r rr,VszAsyncGenerator.athrowcslˆjsBdˆ_tƒ\}ˆ_|dk    r(|ˆƒtjjdkrBˆj ˆj¡t    ˆjƒt
krVt ƒ‚‡‡‡fdd„}|ƒS)NTÚpypyc“sjˆjrtdƒ‚zNz$dˆ_tˆjˆfˆžŽIdHWW¢*Stk
rXˆj ˆj¡‚YnXW5dˆ_XdS)Nz!async generator already executingFT)rTÚ
ValueErrorr3r4r%Ú_pypy_issue2786_workaroundÚdiscardrSr ©rr Ústart_fnr rÚstepis z#AsyncGenerator._do_it.<locals>.step) rWrFrUr*ÚimplementationÚnamerbÚaddrSrrr%)r rerrJrfr rdrr_Ys   zAsyncGenerator._do_itc    Ãs€t|jƒ}|tks|jrdSd|_|tkr8|j ¡dSz| t¡IdHWn&tt    fk
rr|j
  |j¡Yn
Xt dƒ‚dS)NTú%async_generator ignored GeneratorExit) rrSrrVrr4Úcloser,r&r%rbrcrC)r Ústater r rr'{s
 
zAsyncGenerator.aclosec    CsÂ|j |j¡t|jƒtkr&|j ¡t|jƒtkr¾|js¾|jdk    rP| |¡nn|     t
¡}zXz|  d¡Wn2t
t fk
r‚Yn.t k
rœtdƒ‚YnXtd |jj¡ƒ‚W5| ¡XdS)Nrjzˆasync_generator {!r} awaited during finalization; install a finalization hook to support this, or wrap it in 'async with aclosing(...):')rbrcrSrrrkrrVrUr,r&r=r%rBrCrQr\Úco_name)r Zthrowerr r rÚ__del__s.
ÿÿ
 
ýÿzAsyncGenerator.__del__)NN)rrrÚsetrbrr*Ú version_infor"Úpropertyr\r^r$r-r,r_r'rnr r r rrRs
 
 
 
 
"rRcs"tˆƒ‡fdd„ƒ}t|ƒ|_|S)Ncstˆ||ŽƒSr    )rR)rÚkwargs©Úcoroutine_makerr rÚasync_generator_maker´sz.async_generator.<locals>.async_generator_maker)rÚidÚ_async_gen_function)rtrur rsrÚasync_generator³s
rxcCs"ttdƒrt |¡rdSt|tƒS)NÚ
isasyncgenT)r#ÚinspectryrrR©Úobjr r rry¼s
 
rycCs,ttdƒrt |¡rdSt|ddƒt|ƒkS)NÚisasyncgenfunctionTrwéÿÿÿÿ)r#rzr}Úgetattrrvr{r r rr}Ãs
 
r})N)&r*Ú    functoolsrÚtypesrrzrrrrÚcollections.abcÚ collectionsrrrrrrr2r3ÚobjectrNrFrGÚ ImportErrorÚ    threadingÚ
namedtuplerHÚlocalrLrMrRr#ÚabcÚregisterrxryr}r r r rÚ<module>sD  I
 
J-ÿ