
    q-Ph
                        d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ erd dlmZ d dlmZ d dlmZ  ed	          Z G d
 dee                   Z G d dee         ee                   ZdS )    )annotations)	Awaitable)TYPE_CHECKINGAnyGenericTypeVarwrap_df)_GEVENT_AVAILABLE)Future)	Generator)PyDataFrameTc                  X    e Zd ZdZddZ	 	 dddZedd            ZddZddZ	ddZ
dS )_GeventDataFrameResult)_result_value_watcherreturnNonec                   t           sd}t          |          ddlm} ddlm} d | _         |            | _         |            j        	                                | _
        | j
                            | j                   d S )Nzigevent is required for using LazyFrame.collect_async(gevent=True) orpolars.collect_all_async(gevent=True)r   )AsyncResult)get_hub)r   ImportErrorgevent.eventr   
gevent.hubr   r   r   loopasync_r   start_watcher_callback)selfmsgr   r   s       T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/polars/_utils/async_.py__init__z_GeventDataFrameResult.__init__   s      	#8  c""",,,,,,&&&&&&JN"{}}		--//D233333    TNblockbooltimeoutfloat | int | Noner   c                :    | j                             ||          S )N)r&   r(   )resultget)r!   r&   r(   s      r#   r,   z_GeventDataFrameResult.get'   s    
 {UG<<<r%   r   c                x    | j         -| j                                        s|                                  | j        S N)r   r   readyr    r!   s    r#   r+   z_GeventDataFrameResult.result.   s9     ;"4<+=+=+?+?"""$$$|r%   c                    t          | j        t                    r | j                            | j                   n| j                            | j                   | j                                         d S r.   )
isinstancer   	Exceptionr   set_exceptionsetr   closer0   s    r#   r    z(_GeventDataFrameResult._watcher_callback6   sc    dk9-- 	*L&&t{3333LT[)))r%   objPyDataFrame | Exceptionc                    t          |t                    st          |          }|| _        | j                                         d S r.   )r2   r3   r
   r   r   sendr!   r7   s     r#   	_callbackz _GeventDataFrameResult._callback=   s@    #y)) 	#,,Cr%   list[PyDataFrame] | Exceptionc                    t          |t                    sd |D             }|| _        | j                                         d S )Nc                ,    g | ]}t          |          S  r	   .0pydfs     r#   
<listcomp>z8_GeventDataFrameResult._callback_all.<locals>.<listcomp>E   s    111T74==111r%   )r2   r3   r   r   r:   r;   s     r#   _callback_allz$_GeventDataFrameResult._callback_allC   sH    #y)) 	211S111Cr%   r   r   )TN)r&   r'   r(   r)   r   r   )r   r   r7   r8   r   r   r7   r=   r   r   )__name__
__module____qualname__	__slots__r$   r,   propertyr+   r    r<   rE   r@   r%   r#   r   r      s        1I4 4 4 4& &*= = = = =    X           r%   r   c                  2    e Zd ZdZddZddZdd	ZddZdS )_AioDataFrameResult)r   r+   r   r   c                l    ddl m}  |            | _        | j                                        | _        d S )Nr   )get_event_loop)asynciorQ   r   create_futurer+   )r!   rQ   s     r#   r$   z_AioDataFrameResult.__init__M   s<    ******"N$$	!%!8!8!:!:r%   Generator[Any, None, T]c                4    | j                                         S r.   )r+   	__await__r0   s    r#   rV   z_AioDataFrameResult.__await__S   s    {$$&&&r%   r7   r8   c                    t          |t                    r'| j                            | j        j        |           d S | j                            | j        j        t          |                     d S r.   )r2   r3   r   call_soon_threadsafer+   r4   
set_resultr
   r;   s     r#   r<   z_AioDataFrameResult._callbackV   sl    c9%% 	I**4;+DcJJJJJI**&    r%   r=   c                    t          |t                    r'| j                            | j        j        |           d S | j                            | j        j        d |D                        d S )Nc                ,    g | ]}t          |          S r@   r	   rA   s     r#   rD   z5_AioDataFrameResult._callback_all.<locals>.<listcomp>e   s    ///4///r%   )r2   r3   r   rX   r+   r4   rY   r;   s     r#   rE   z!_AioDataFrameResult._callback_all_   st    c9%% 	I**4;+DcJJJJJI**&//3///    r%   NrF   )r   rT   rG   rH   )rI   rJ   rK   rL   r$   rV   r<   rE   r@   r%   r#   rO   rO   J   si        "I; ; ; ;' ' ' '        r%   rO   N)
__future__r   collections.abcr   typingr   r   r   r   polars._utils.wrapr
   polars.dependenciesr   asyncio.futuresr   r   polars.polarsr   r   r   rO   r@   r%   r#   <module>rc      s+   " " " " " " % % % % % % 7 7 7 7 7 7 7 7 7 7 7 7 & & & & & & 1 1 1 1 1 1 *&&&&&&)))))))))))) GCLL4 4 4 4 4WQZ 4 4 4n    )A,
     r%   