
    h;                        S SK Jr  S SKJr  S SKJrJrJrJr  S SK	J
r
  S SKJr  \(       a  S SKJr  S SKJr  S SKJr  \" S	5      r " S
 S\\   5      r " S S\\   \\   5      rg)    )annotations)	Awaitable)TYPE_CHECKINGAnyGenericTypeVar)_GEVENT_AVAILABLE)wrap_df)Future)	Generator)PyDataFrameTc                  p    \ rS rSrSrS
S jr  S     SS jjr\SS j5       rS
S jr	SS jr
SS	 jrSrg)_GeventDataFrameResult   )_result_value_watcherc                   [         (       d  Sn[        U5      eSSKJn  SSKJn  S U l        U" 5       U l        U" 5       R                  R                  5       U l
        U R                  R                  U R                  5        g )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       N/home/james-whalen/.local/lib/python3.13/site-packages/polars/_utils/async_.py__init___GeventDataFrameResult.__init__   sc      8  c"",&JN"}	--/D223    Nc                4    U R                   R                  XS9$ )N)blocktimeout)resultget)r   r&   r'   s      r!   r)   _GeventDataFrameResult.get'   s    
 {{U<<r$   c                    U R                   b/  U R                  R                  5       (       d  U R                  5         U R                  $ N)r   r   readyr   r   s    r!   r(   _GeventDataFrameResult.result.   s6     ;;"4<<+=+=+?+?""$||r$   c                   [        U R                  [        5      (       a&  U R                  R	                  U R                  5        O%U R                  R                  U R                  5        U R                  R                  5         g r,   )
isinstancer   	Exceptionr   set_exceptionsetr   closer.   s    r!   r   (_GeventDataFrameResult._watcher_callback6   sO    dkk9--LL&&t{{3LLT[[)r$   c                    [        U[        5      (       d  [        U5      nXl        U R                  R                  5         g r,   r1   r2   r
   r   r   sendr   objs     r!   	_callback _GeventDataFrameResult._callback=   s-    #y))#,Cr$   c                    [        U[        5      (       d  U Vs/ s H  n[        U5      PM     nnXl        U R                  R                  5         g s  snf r,   r8   r   r;   pydfs      r!   _callback_all$_GeventDataFrameResult._callback_allC   sA    #y))-01ST74=SC1 2s   AreturnNone)TN)r&   boolr'   zfloat | int | NonerD   r   )rD   r   r;   zPyDataFrame | ExceptionrD   rE   r;   zlist[PyDataFrame] | ExceptionrD   rE   )__name__
__module____qualname____firstlineno__	__slots__r"   r)   propertyr(   r   r<   rA   __static_attributes__ r$   r!   r   r      sX    1I4& &*== $= 
	=  r$   r   c                  @    \ rS rSrSrSS jrS	S jrS
S jrSS jrSr	g)_AioDataFrameResultJ   )r   r(   c                f    SSK Jn  U" 5       U l        U R                  R                  5       U l        g )Nr   )get_event_loop)asynciorU   r   create_futurer(   )r   rU   s     r!   r"   _AioDataFrameResult.__init__M   s#    *"$	!%!8!8!:r$   c                6    U R                   R                  5       $ r,   )r(   	__await__r.   s    r!   rZ   _AioDataFrameResult.__await__S   s    {{$$&&r$   c                   [        U[        5      (       a1  U R                  R                  U R                  R
                  U5        g U R                  R                  U R                  R                  [        U5      5        g r,   r1   r2   r   call_soon_threadsafer(   r3   
set_resultr
   r:   s     r!   r<   _AioDataFrameResult._callbackV   sS    c9%%II**4;;+D+DcJII**&&r$   c           	     .   [        U[        5      (       a1  U R                  R                  U R                  R
                  U5        g U R                  R                  U R                  R                  U Vs/ s H  n[        U5      PM     sn5        g s  snf r,   r]   r?   s      r!   rA   !_AioDataFrameResult._callback_all_   se    c9%%II**4;;+D+DcJII**&&+./343//s   5B
NrC   )rD   zGenerator[Any, None, T]rG   rH   )
rI   rJ   rK   rL   rM   r"   rZ   r<   rA   rO   rP   r$   r!   rR   rR   J   s    "I;'r$   rR   N)
__future__r   collections.abcr   typingr   r   r   r   polars._dependenciesr	   polars._utils.wrapr
   asyncio.futuresr   r   polars._plrr   r   r   rR   rP   r$   r!   <module>rj      sU    " % 7 7 2 &&)' CL4WQZ 4n)A,
 r$   