Viewing File: /opt/alt/python35/lib/python3.5/site-packages/async_timeout/__pycache__/__init__.cpython-35.pyc



>Y@s5ddlZdZGdddZddZdS)Nz1.3.0c@seZdZdZddddZddZdd	Zejd
dZ	ejdd
Z
eddZddZ
ddZddZdS)timeoutatimeout context manager.

    Useful in cases when you want to apply timeout logic around block
    of code or in cases when asyncio.wait_for is not suitable. For example:

    >>> with timeout(0.001):
    ...     async with aiohttp.get('https://github.com') as r:
    ...         await r.text()


    timeout - value in seconds or None to disable timeout logic
    loop - asyncio compatible event loop
    loopNcCsg|dk	r|dkrd}||_|dkr?tj}||_d|_d|_d|_dS)NrF)_timeoutasyncioZget_event_loop_loop_task
_cancelled_cancel_handler)selfrrr/__init__.py__init__s				ztimeout.__init__cCs
|jS)N)	_do_enter)r
rrr	__enter__ sztimeout.__enter__cCs|j|dS)N)_do_exit)r
exc_typeexc_valexc_tbrrr__exit__#sztimeout.__exit__cCs
|jS)N)r)r
rrr
__aenter__&sztimeout.__aenter__cCs|j|dS)N)r)r
rrrrrr	__aexit__*sztimeout.__aexit__cCs|jS)N)r)r
rrrexpired.sztimeout.expiredcCs^|jdk	rZt|j|_|jdkr<td|jj|j|j|_|S)Nz4Timeout context manager should be used inside a task)rcurrent_taskrrRuntimeErrorZ
call_later_cancel_taskr	)r
rrrr2s	ztimeout._do_entercCst|tjkr3|jr3d|_d|_tj|jdk	rg|jdk	rg|jjd|_d|_dS)N)rCancelledErrorrr	rTimeoutErrorrcancel)r
rrrrr<s			
	ztimeout._do_exitcCs|jjd|_dS)NT)rrr)r
rrrrFs
ztimeout._cancel_task)__name__
__module____qualname____doc__r
rrr	coroutinerrpropertyrrrrrrrrrs


rcCs@tjjd|}|dkr<t|dr<|j}|S)Nrr)rZTaskrhasattr)rZtaskrrrrKs
r)r__version__rrrrrr<module>sD
Back to Directory File Manager