a
XC?h]" @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl
mZ ddl
mZ ddl
m
Z
ddlmZ dd Ze ZG d
d dZdd
Ze Zdd ZejejejjefZe Zdd Zdd ZdS )) coroutineiscoroutinefunctioniscoroutine N )base_futures) constants)format_helpers)loggerc C s" t jjp t jj o ttjdS )NZPYTHONASYNCIODEBUG)sysflagsdev_modeignore_environmentboolosenvironget r r 7/opt/alt/python39/lib64/python3.9/asyncio/coroutines.py_is_debug_mode s r c @ s e Zd ZdddZdd Zdd Zdd Zd
d Zddd
Zdd Z e
dd Ze
dd Ze
dd Z
dd Ze
dd Zdd ZdS )CoroWrapperNc C sZ t |st |sJ ||| _|| _ttd| _ t
|dd | _t
|dd | _d S )Nr __name____qualname__)
inspectisgeneratorr genfuncr
extract_stackr
_getframe_source_tracebackgetattrr r )selfr r r r r __init__' s zCoroWrapper.__init__c C sJ t | }| jr4| jd }|d|d d|d 7 }d| jj d| dS ) Nz
, created at r :r < >)_format_coroutiner __class__r )r coro_reprframer r r __repr__/ s
zCoroWrapper.__repr__c C s | S Nr r r r r __iter__7 s zCoroWrapper.__iter__c C s | j d S r, r sendr- r r r __next__: s zCoroWrapper.__next__c C s | j |S r, r/ )r valuer r r r0 = s zCoroWrapper.sendc C s | j |||S r, )r throw)r typer2 tracebackr r r r3 @ s zCoroWrapper.throwc C s
| j S r, )r closer- r r r r6 C s zCoroWrapper.closec C s | j jS r, )r gi_framer- r r r r7 F s zCoroWrapper.gi_framec C s | j jS r, )r
gi_runningr- r r r r8 J s zCoroWrapper.gi_runningc C s | j jS r, )r gi_coder- r r r r9 N s zCoroWrapper.gi_codec C s | S r, r r- r r r __await__R s zCoroWrapper.__await__c C s | j jS r, )r gi_yieldfromr- r r r r; U s zCoroWrapper.gi_yieldfromc C s t | dd }t |dd }|d ur||jdkr|| d}t | dd}|rrdt|}|dtj d 7 }|| 7 }t | d S )
Nr r7 r" z was never yielded fromr r zB
Coroutine object created at (most recent call last, truncated to z last lines):
)
r f_lastijoinr5 format_listr ZDEBUG_STACK_DEPTHrstripr error)r r r* msgtbr r r __del__Y s
zCoroWrapper.__del__)N)NN)r
__module__r r! r+ r. r1 r0 r3 r6 propertyr7 r8 r9 r: r; rD r r r r r $ s"
r c sz t jdtdd trS tr. ntfdd t t
sX }nt fdd}t|_|S )zDecorator to mark coroutines.
If the coroutine is not yielded from before it is destroyed,
an error message is logged.
zN"@coroutine" decorator is deprecated since Python 3.8, use "async def" instead )
stacklevelc ? st | i |}t |s,t|s,t|tr8|E d H }n8z
|j}W n tyT Y n0 t|tj j
rp| E d H }|S r, )r Zisfuturer r
isinstancer r: AttributeErrorcollectionsabc Awaitable)argskwresZ
await_methr r r coroz s
zcoroutine.