U
    @f                     @   s6   d Z ddlZddlmZ ddlZdd Zd	ddZdS )
zA wait callback to allow psycopg2 cooperation with eventlet.

Use `make_psycopg_green()` to enable eventlet support in Psycopg.
    N)
extensionsc                   C   s&   t tdstdtj tt dS )z?Configure Psycopg to be used with eventlet in non-blocking way.set_wait_callbackzAsupport for coroutines not available in this Psycopg version (%s)N)hasattrr   ImportErrorpsycopg2__version__r   eventlet_wait_callback r	   r	   [/var/www/html/chatgpt/venv/lib/python3.8/site-packages/eventlet/support/psycopg2_patcher.pymake_psycopg_green!   s    
r   c                 C   sj   |   }|tjkrqfq |tjkr6tjj|  dd q |tjkrVtjj|  dd q t	
d| q dS )z>A wait callback useful to allow eventlet to work with Psycopg.T)read)writezBad result from poll: %rN)pollr   ZPOLL_OKZ	POLL_READeventletZhubsZ
trampolinefilenoZ
POLL_WRITEr   ZOperationalError)conntimeoutstater	   r	   r
   r   +   s    


r   )r   )__doc__r   r   Zeventlet.hubsr   r   r   r	   r	   r	   r
   <module>   s
   
