
    Yh;                         S SK r S SKJrJrJrJr  S SKJr  S SKJrJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S SKJr  \(       a  S S
KJr   " S S5      rg)    N)TYPE_CHECKINGAnyOptionalcast)greenlet)ChannelOwner
Connection)Error)MainGreenlet)create_remote_object)
Playwright)PipeTransport)AbstractChildWatcherc                   L    \ rS rSrS
S jrS\4S jrS\4S jrS\SS4S jr	S	r
g)PlaywrightContextManager    returnNc                 6    U   U   SU l         S U l        SU l        g )NF)	_own_loop_watcher_exit_was_calledselfs    V/var/www/html/env/lib/python3.13/site-packages/playwright/sync_api/_context_manager.py__init__!PlaywrightContextManager.__init__!   s    8< %    c                 d  ^ ^  [         R                  " 5       T l        T R                  R                  5       (       a  [        S5      eSU 4S jjn[        U5      n[        U[        [        T R                  5      T R                  5      T l        [        R                  " 5       mS[        SS 4UU 4S jjnT R                  R!                  SU5        UR#                  5         T R$                  nT R&                  Ul        U$ ! [         a%    [         R                  " 5       T l        ST l         GNf = f)	NTzjIt looks like you are using Playwright Sync API inside the asyncio loop.
Please use the Async API instead.r   c                  l   > T R                   R                  T R                  R                  5       5        g N)_looprun_until_complete_connectionrun_as_syncr   s   r   greenlet_main9PlaywrightContextManager.__enter__.<locals>.greenlet_main7   s$    JJ))$*:*:*F*F*HIr   channel_ownerc                 f   > [        [        U 5      n[        U5      Tl        TR	                  5         g r    )r   r   SyncPlaywright_playwrightswitch)r'   playwright_implg_selfr   s     r   callback_wrapper<PlaywrightContextManager.__enter__.<locals>.callback_wrapperE   s%    ":}=O-o>DMMOr   r   r   N)asyncioget_running_loopr!   RuntimeErrornew_event_loopr   
is_runningr
   r   r	   r   r   r#   r   
getcurrentr   call_on_object_with_known_namer+   r*   __exit__stop)r   r%   dispatcher_fiberr.   
playwrightr-   s   `    @r   	__enter__"PlaywrightContextManager.__enter__(   s
   	" 113DJ ::  ""% 	J (6% $**%JJ	
 $$&	L 	T 	 	 	77FVW!%%
--
M  	" //1DJ!DN	"s   D   +D/.D/c                 "    U R                  5       $ r    )r<   r   s    r   startPlaywrightContextManager.startS   s    ~~r   argsc                 v   U R                   (       a  g SU l         U R                  R                  5         U R                  (       a  U R                  R	                  5         U R
                  (       a  [        R                  " U R                  5      nU Vs/ s H2  o3R                  5       (       a  M  UR                  5       (       a  M0  UPM4     sn H  nUR                  5         M     U R                  R                  U R                  R                  5       5        U R                  R	                  5         g g s  snf )NT)r   r#   	stop_syncr   closer   r1   	all_tasksr!   done	cancelledcancelr"   shutdown_asyncgens)r   rA   tasksts       r   r8   !PlaywrightContextManager.__exit__V   s       $""$==MM!>>%%djj1E!&JAvvxa1;;=aJ
 KJJ))$***G*G*IJJJ Js   D60D6D6)r#   r   r!   r   r*   r   r0   )__name__
__module____qualname____firstlineno__r   r)   r<   r?   r   r8   __static_attributes__ r   r   r   r       s3    &)> )V ~  c d r   r   )r1   typingr   r   r   r   r   playwright._impl._connectionr   r	   playwright._impl._errorsr
   playwright._impl._greenletsr    playwright._impl._object_factoryr   playwright._impl._playwrightr   playwright._impl._transportr   playwright.sync_api._generatedr)   asyncio.unix_eventsr   r   rR   r   r   <module>r\      s:     5 5  A * 4 A 3 5 G8B Br   