
    i                     v    d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ  G d de          ZdS )	    N)DictOptionalUnioncast)TracingGroupLocation)Artifact)ChannelOwnerfrom_nullable_channel)locals_to_paramsc                   0    e Zd Zdededededdf
 fdZ	 	 	 	 	 dded	ed
edededdfdZdd	ededdfdZ	deddfdZ
ddeej        ef         ddfdZddeej        ef         ddfdZddeej        ef         ddfdZddZddededdfdZddZ xZS )TracingparenttypeguidinitializerreturnNc                     t                                          ||||           d| _        d | _        d| _        d | _        d S NF)super__init___include_sources
_stacks_id_is_tracing_traces_dir)selfr   r   r   r   	__class__s        Y/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/playwright/_impl/_tracing.pyr   zTracing.__init__   sH     	t[999&+)-!&*.    nametitle	snapshotsscreenshotssourcesc                 ,  K   t          t                                }t          |          | _        | j                            dd |           d {V  | j                            dd ||d           d {V }|                     |           d {V  d S )NtracingStarttracingStartChunk)r    r   )r   localsboolr   _channelsend_start_collecting_stacks)r   r   r    r!   r"   r#   params
trace_names           r   startzTracing.start"   s       "&((++ $Wm  v>>>>>>>>>=--'E'E
 
 
 
 
 
 
 

 ++J77777777777r   c                    K   t          t                                }| j                            dd |           d {V }|                     |           d {V  d S )Nr&   )r   r'   r)   r*   r+   )r   r    r   r,   r-   s        r   start_chunkzTracing.start_chunk3   so      !&((++=--.A4PPPPPPPP
++J77777777777r   r-   c                    K   | j         s!d| _         | j                            d           | j        j                            | j        |           d {V | _        d S )NT)r   _connectionset_is_tracinglocal_utilstracing_startedr   r   )r   r-   s     r   r+   z Tracing._start_collecting_stacks8   sw       	2#D++D111 $ 0 < L Lj!
 !
 
 
 
 
 
 
r   pathc                 @   K   |                      |           d {V  d S N)_do_stop_chunkr   r6   s     r   
stop_chunkzTracing.stop_chunk@   s2      !!$'''''''''''r   c                    K   |                      |           d {V  | j                            dd            d {V  d S )NtracingStop)r9   r)   r*   r:   s     r   stopzTracing.stopC   st      !!$'''''''''m  
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   	file_pathc                   K   |                                   |sW| j                            dd ddi           d {V  | j        r*| j        j                            | j                   d {V  d S | j        j         }|rn| j                            dd ddi           d {V }| j        j        	                    t          |          |d         | j        d| j        d           d {V  d S | j                            dd ddi           d {V }t          t          t                   t          |                    d                              }|s3| j        r*| j        j                            | j                   d {V  d S |                    |           d {V  |                                 d {V  | j        j        	                    t          |          g | j        d	| j        d           d {V  d S )
NtracingStopChunkmodediscardentrieswrite)zipFilerD   stacksIdrB   includeSourcesarchiveartifactappend)_reset_stack_counterr)   r*   r   r2   r4   trace_discarded	is_remotesend_return_as_dictzipstrr   r   r   r   r
   getsave_asdelete)r   r?   is_localresultrJ   s        r   r9   zTracing._do_stop_chunkJ   s     !!### 	-$$%7	?RSSSSSSSSS T&2BB4?SSSSSSSSSF'11 	=<<"D69*=       F ".22"9~~%i0 $#&*&;          F}88	
 
 
 
 
 
 
 
 X!&**Z"8"899
 
  	 T&2BB4?SSSSSSSSSF y)))))))))oo*..y>> O "&"7 
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   c                 Z    | j         r#d| _         | j                            d           d S d S r   )r   r2   r3   r   s    r   rL   zTracing._reset_stack_counter   s<     	3$D++E22222	3 	3r   locationc                    K   | j                             dd t          t                                           d {V  d S )NtracingGroup)r)   r*   r   r'   )r   r   rY   s      r   groupzTracing.group   sE      m  7G7Q7QRRRRRRRRRRRr   c                 L   K   | j                             dd            d {V  d S )NtracingGroupEnd)r)   r*   rX   s    r   	group_endzTracing.group_end   sN      m  
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   )NNNNN)NNr8   )r   N)__name__
__module____qualname__r	   rQ   r   r   r(   r.   r0   r+   r   pathlibPathr;   r>   r9   rL   r   r\   r_   __classcell__)r   s   @r   r   r      s       /"/*-/58/GK/	/ / / / / /  8 88 8 	8
 8 8 
8 8 8 8"8 8s 8 8 8 8 8 8

 
 
 
 
 
( (U7<+<%= ( ( ( ( (
 
uW\3%67 
4 
 
 
 
:
 :
eGL#4E.F :
RV :
 :
 :
 :
x3 3 3 3
S S S/C St S S S S
 
 
 
 
 
 
 
r   r   )rc   typingr   r   r   r    playwright._impl._api_structuresr   playwright._impl._artifactr   playwright._impl._connectionr	   r
   playwright._impl._helperr   r    r   r   <module>rl      s     . . . . . . . . . . . . A A A A A A / / / / / / L L L L L L L L 5 5 5 5 5 5z
 z
 z
 z
 z
l z
 z
 z
 z
 z
r   