
    \Jjm                         d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZmZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ erd d
lmZ eegef   Zed   Zed   Z G d d      Zy)    N)Path)TYPE_CHECKINGAnyCallableLiteralOptionalUnion)ScreencastFrameScreencastSize)Artifact)from_nullable_channel)DisposableStub)Error)locals_to_params)Page)bottomzbottom-leftzbottom-righttopztop-leftz	top-right)nonepointerc                       e Zd ZddZdeddfdZ	 	 	 	 ddedeee	f   de
d	edef
d
ZddZ	 	 	 	 ddedede
dedef
dZddZddededefdZ	 	 ddedededdfdZddZddZy)
ScreencastreturnNc                      | _         |j                   _        |j                   _        d _        d  _        d  _        d  _        |j                  j                  d fd       y )NFscreencastFramec                 &    j                  |       S N)_dispatch_frame)paramsselfs    W/var/www/html/Extract/venv/lib/python3.12/site-packages/playwright/_impl/_screencast.py<lambda>z%Screencast.__init__.<locals>.<lambda>6   s    4;O;OPV;W     )	_page_loop_dispatcher_fiber_started
_save_path	_on_frame	_artifact_channelon)r   pages   ` r    __init__zScreencast.__init__.   sU    
ZZ
!%!7!76:<@-1*,WXr"   r   c                 .   | j                   sy |d   }t        |t              rt        j                  |      }| j                  ||j                  dd      |d   |d   d      }t        |d      r&| j                  j                  j                  |       y y )Ndata	timestampr   viewportWidthviewportHeight)r/   r0   r1   r2   	__await__)
r(   
isinstancestrbase64	b64decodegethasattrr#   r$   create_task)r   r   r/   results       r    r   zScreencast._dispatch_frame8   s    ~~f~dC ##D)D#ZZQ7!'!8"()9":	
 6;'JJ((0 (r"   onFramepathqualitysizec           
      t   K    j                   rt        d      d _         | _         j                  j                  j                  dd ||t        |      t        |      d       d {   }|xs i j                  d      }|rt        |       _	        | _
        t         fd j                        S 7 Kw)NzScreencast is already startedTscreencastStart)r?   r>   
sendFramesrecordartifactc                  $     j                         S r   )stopr   s   r    r!   z"Screencast.start.<locals>.<lambda>b   s    diik r"   )r&   r   r(   r#   r*   send_return_as_dictboolr8   r   r)   r'   r   )r   r<   r=   r>   r?   r;   artifact_channels   `      r    startzScreencast.startI   s      ==788 zz**>>""7mt*		
 	
 #Lb--j923CDDN"DO14::>>	
s   A'B8*B6+AB8c                 2  K   d| _         d | _        | j                  j                  j	                  dd        d {    | j
                  r9| j                  r-| j                  j                  | j
                         d {    d | _        d | _        y 7 X7 w)NFscreencastStop)r&   r(   r#   r*   sendr'   r)   save_asrG   s    r    rF   zScreencast.stopd   su     jj!!&&'7>>>??t~~..((999	 	?9s"   8BBAB?B BBdurationpositionfontSizecursorc                     K    j                   j                  j                  dd t        t	                            d {    t         fd j                         S 7 w)NscreencastShowActionsc                  $     j                         S r   )hide_actionsrG   s   r    r!   z)Screencast.show_actions.<locals>.<lambda>w   s    d&7&7&9 r"   )r#   r*   rN   r   localsr   )r   rP   rQ   rR   rS   s   `    r    show_actionszScreencast.show_actionsm   sS      jj!!&&#T+;FH+E
 	
 	
 94::FF	
s   <AA Ac                 l   K   | j                   j                  j                  dd        d {    y 7 w)NscreencastHideActionsr#   r*   rN   rG   s    r    rW   zScreencast.hide_actionsy   s'     jj!!&&'>EEEs   *424htmlc                     K    j                   j                  j                  dd t        t	                            d {   }|xs i j                  d      t         fd j                         S 7 3w)NscreencastShowOverlayidc                  V    j                   j                  j                  dd d i      S )NscreencastRemoveOverlayr`   r\   )
overlay_idr   s   r    r!   z)Screencast.show_overlay.<locals>.<lambda>   s(    DJJ'',,)4$
1C r"   )r#   r*   rH   r   rX   r8   r   )r   r]   rP   r;   rc   s   `   @r    show_overlayzScreencast.show_overlay|   sk     zz**>>#T+;FH+E
 
 l''-
 JJ	
 	
	
s   <A6 A44A6titledescriptionc                    K   | j                   j                  j                  dd t        t	                            d {    y 7 w)NscreencastChapter)r#   r*   rN   r   rX   )r   re   rf   rP   s       r    show_chapterzScreencast.show_chapter   s9      jj!!&&'7'A
 	
 	
s   <AAAc                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)NscreencastSetOverlayVisiblevisibleTr\   rG   s    r    show_overlayszScreencast.show_overlays   s4     jj!!&&)4)T1B
 	
 	
   -757c                 r   K   | j                   j                  j                  dd ddi       d {    y 7 w)Nrk   rl   Fr\   rG   s    r    hide_overlayszScreencast.hide_overlays   s4     jj!!&&)4)U1C
 	
 	
rn   )r,   r   r   N)NNNN)r   Nr   )NN)__name__
__module____qualname__r-   dictr   ScreencastFrameCallbackr	   r5   r   intr   r   rK   rF   floatScreencastPositionScreencastCursorrY   rW   rd   ri   rm   rp    r"   r    r   r   -   s   Y1d 1t 1& ,0!%#?(? CI? 	?
 ? 
?6 '+#'
G
G %
G 	
G
 !
G 

GF

s 

e 

~ 

  	

 
 	

 




r"   r   )r6   pathlibr   typingr   r   r   r   r   r	    playwright._impl._api_structuresr
   r   playwright._impl._artifactr   playwright._impl._connectionr   playwright._impl._disposabler   playwright._impl._errorsr   playwright._impl._helperr   playwright._impl._pager   ru   rx   ry   r   rz   r"   r    <module>r      sn      I I L / > 7 * 5+ #O#4c#9:    m
 m
r"   