B
    KLc              
   @   s  d dl mZ dZdZejryddlZW n* ek
rP Z zeeZW ddZ[X Y nfX dZd dl	m
Z
 d dl	mZ d dl	mZ d d	l	mZ d d
l	mZ d dl	mZ d dl	mZ d dl	mZ d dlmZ esdZdd Zdd Zdd Z
dd Zdd Zdd Zdd Zdd ZdS )   )compatFN    T)
await_only)await_fallback)greenlet_spawn)is_exit_exception)AsyncAdaptedLock)_util_async_run)"_util_async_run_coroutine_function)asyncio)asynccontextmanagerc               C   s0   t rd S tjstdnttr&dt ndd S )Nz Cannot use this function in py2.z9the greenlet library is required to use this function. %s )have_greenletr   py3k
ValueErrorgreenlet_error r   r   :lib/python3.7/site-packages/sqlalchemy/util/concurrency.py_not_implemented&   s    
r   c             C   s   t | t S )N)
isinstance	Exception)er   r   r   r   6   s    r   c             C   s
   t   d S )N)r   )thingr   r   r   r   9   s    r   c             C   s   | S )Nr   )r   r   r   r   r   <   s    r   c             O   s
   t   d S )N)r   )fnargskwr   r   r   r   ?   s    r   c              O   s
   t   d S )N)r   )r   r   r   r   r   r   B   s    r   c             O   s
   | ||S )Nr   )r   argr   r   r   r   r	   E   s    r	   c             O   s
   t   d S )N)r   )r   r   r   r   r   r   r
   H   s    r
   )r   r   r   r   r   ZgreenletImportErrorr   strZ_concurrency_py3kr   r   r   r   r   r	   r
   r   Z_compat_py3kr   r   r   r   r   r   <module>   s6   