
    g                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlZd dlmZ d dlmZmZ  e       Z ed      Z edd	
      Z G d dee         Z G d dee   e      Z G d de      Z G d d	e      Zy)    N)AbstractContextManager)TracebackType)
AnyCallable	Coroutine	GeneratorGenericOptionalTypeTypeVarUnioncast)Error)ImplToApiMappingImplWrapperTSelfSyncContextManager)boundc                   >    e Zd ZddZedefd       ZddZdefdZ	y)		EventInforeturnNc                     || _         || _        t        j                         | j                  j	                  fd       y )Nc                 $    j                         S Nswitch_g_selfs    P/var/www/openai/venv/lib/python3.12/site-packages/playwright/_impl/_sync_base.py<lambda>z$EventInfo.__init__.<locals>.<lambda>2   s        )
_sync_base_futuregreenlet
getcurrentadd_done_callback)self	sync_basefuturer    s      @r!   __init__zEventInfo.__init__.   s2    #$$&&&'@Ar#   c                    | j                   j                         s?| j                  j                  j	                          | j                   j                         s?t        j                  | j                  j                         | j                   j                         }|r|t        t        t        j                  | j                   j                                     S r   )r%   doner$   _dispatcher_fiberr   asyncio_set_running_loop_loop	exceptionr   r   mappingfrom_maybe_implresult)r)   r3   s     r!   valuezEventInfo.value4   s    ,,##%OO--446 ,,##%!!$//"7"78LL**,	OAw..t||/B/B/DEFFr#   c                 8    | j                   j                          y r   )r%   cancelr)   s    r!   _cancelzEventInfo._cancel>   s    r#   c                 6    | j                   j                         S r   )r%   r.   r:   s    r!   is_donezEventInfo.is_doneA   s    ||  ""r#   r*   SyncBaser+   zasyncio.Future[T]r   Nr   N)
__name__
__module____qualname__r,   propertyr   r7   r;   boolr=    r#   r!   r   r   -   s7    B Gq G G# #r#   r   c                   V    e Zd Zd	dZdee   fdZdeee	      dee	   dee
   ddfdZy)
EventContextManagerr   Nc                 4    t        t           ||      | _        y r   )r   r   _event)r)   r*   r+   s      r!   r,   zEventContextManager.__init__F   s    l9f5r#   c                     | j                   S r   )rJ   r:   s    r!   	__enter__zEventContextManager.__enter__I   s    {{r#   exc_typeexc_valexc_tbc                 j    |r| j                   j                          y | j                   j                   y r   )rJ   r;   r7   )r)   rM   rN   rO   s       r!   __exit__zEventContextManager.__exit__L   s$     KK!KKr#   r>   )rA   rB   rC   r,   r   r   rL   r
   r   BaseExceptionr   rQ   rF   r#   r!   rH   rH   E   sV    69Q< 	4./	 -(	 '		
 
	r#   rH   c                        e Zd Zdeddf fdZdefdZdeeeeef   e	eeef   f   defdZ
deed	ef   ef   ded
   fdZdededdfdZdededdfdZdededdfdZ xZS )r?   impl_objr   Nc                 h    t         |   |       |j                  | _        |j                  | _        y r   )superr,   r2   r/   )r)   rT   	__class__s     r!   r,   zSyncBase.__init__Y   s)    "08
!)!;!;r#   c                 6    | j                   j                         S r   )	_impl_obj__str__r:   s    r!   rZ   zSyncBase.__str__^   s    ~~%%''r#   coroc                 H   d}| j                   j                         r|j                          t        d      t	        j
                         | j                   j                  |      }t        |dt        j                                t        |dt        j                                |j                  fd       |j                         s+| j                  j                          |j                         s+t!        j"                  | j                          |j%                         S )NTz4Event loop is closed! Is Playwright already stopped?__pw_stack____pw_stack_trace__c                 $    j                         S r   r   r   s    r!   r"   z SyncBase._sync.<locals>.<lambda>o   s    r#   )r2   	is_closedcloser   r&   r'   create_tasksetattrinspectstack	tracebackextract_stackr(   r.   r/   r   r0   r1   r6   )r)   r[   __tracebackhide__taskr    s       @r!   _synczSyncBase._synca   s     !::!JJLNOO$$&(,

(>(>t(Dngmmo6*I,C,C,EF89))+""))+ ))+!!$**-{{}r#   handler.).Nc                 F    t        |      rt        j                  |      S |S r   )callabler4   wrap_handler)r)   rk   s     r!   _wrap_handlerzSyncBase._wrap_handleru   s"     G''00r#   eventfc                 Z    | j                   j                  || j                  |             y)z9Registers the function ``f`` to the event name ``event``.N)rY   onro   r)   rp   rq   s      r!   rs   zSyncBase.on|   s!    %!3!3A!67r#   c                 Z    | j                   j                  || j                  |             y)zoThe same as ``self.on``, except that the listener is automatically
        removed after being called.
        N)rY   oncero   rt   s      r!   rv   zSyncBase.once   s#     	E4#5#5a#89r#   c                 Z    | j                   j                  || j                  |             y)z*Removes the function ``f`` from ``event``.N)rY   remove_listenerro   rt   s      r!   rx   zSyncBase.remove_listener   s!    &&ud.@.@.CDr#   )rA   rB   rC   r   r,   strrZ   r   r   r   rj   r   ro   rs   rv   rx   __classcell__)rW   s   @r!   r?   r?   X   s    < < <
( (Ic3m,iS#.FFG 
(Xc3h/45	)	8 8 8 8:# :# :$ :ES ES ET Er#   r?   c                   B    e Zd ZdedefdZdee   dededdfdZd
d	Z	y)r   r)   r   c                     | S r   rF   r:   s    r!   rL   zSyncContextManager.__enter__   s    r#   rM   rN   
_tracebackNc                 $    | j                          y r   )ra   )r)   rM   rN   r}   s       r!   rQ   zSyncContextManager.__exit__   s     	

r#   c                      y r   rF   r:   s    r!   ra   zSyncContextManager.close   s    Sr#   r@   )
rA   rB   rC   r   rL   r   rR   r   rQ   ra   rF   r#   r!   r   r      sJ      }%  "	
 
 !r#   )r0   rd   rf   
contextlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r&   playwright._impl._helperr   %playwright._impl._impl_to_api_mappingr   r   r4   r   r   r   rH   r?   r   rF   r#   r!   <module>r      s       -     * O

 CLv12#
 #0'!*&< &0E{ 0Ef! !r#   