
    龙h                     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	m
Z
 d dlmZmZ  G d de	      Zded	efd
Zy)    N)DictListOptionalcast)HeadersArray)ChannelOwner
StackFrame)HarLookupResultlocals_to_paramsc                        e Zd Zdededededdf
 fdZdeddfd	Zd
eddfdZ	 ddededede	de
dee   defdZdeddfdZdededdfdZdee   dedefdZdeddfdZdedee   ddfdZ xZS ) 
LocalUtilsparenttypeguidinitializerreturnNc                     t         |   ||||       |d   D ci c]  }|d   t        |d          c}| _        y c c}w )NdeviceDescriptorsname
descriptor)super__init__parse_device_descriptordevices)selfr   r   r   r   device	__class__s         Y/var/www/Befach/backend/env/lib/python3.12/site-packages/playwright/_impl/_local_utils.pyr   zLocalUtils.__init__   sS     	t[9 &&9:
 6N3F<4HII
 
s   =paramsc                 Z   K   | j                   j                  dd |       d {    y 7 w)Nzip_channelsend)r   r   s     r   r!   zLocalUtils.zip!   s"     mm  f555s   !+)+filec                    K   t        t                     }| j                  j                  dd |       d {    y 7 w)NharOpenr   localsr#   r$   )r   r%   r   s      r   har_openzLocalUtils.har_open$   s.     !&(+mm  D&999   4><>harIdurlmethodheadersisNavigationRequestpostDatac                    K   t        t                     }d|v r)t        j                  |d         j	                         |d<   t        t        | j                  j                  dd |       d {         S 7 w)Nr1   	harLookup)	r   r)   base64	b64encodedecoder   r
   r#   send_return_as_dict)r   r,   r-   r.   r/   r0   r1   r   s           r   
har_lookupzLocalUtils.har_lookup(   sk      "&(+!'!1!1&2D!E!L!L!NF:--33KvNN
 	
Ns   A+A8-A6
.	A8c                    K   t        t                     }| j                  j                  dd |       d {    y 7 w)NharCloser(   )r   r,   r   s      r   	har_closezLocalUtils.har_close9   .     !&(+mm  T6:::r+   zipFileharFilec                    K   t        t                     }| j                  j                  dd |       d {    y 7 w)NharUnzipr(   )r   r=   r>   r   s       r   	har_unzipzLocalUtils.har_unzip=   r<   r+   	tracesDir	traceNamec                 ~   K   t        t                     }| j                  j                  dd |       d {   S 7 w)NtracingStartedr(   )r   rB   rC   r   s       r   tracing_startedzLocalUtils.tracing_startedA   s2     !&(+]]''(8$GGGGs   4=;=	stacks_idc                 \   K   | j                   j                  dd d|i       d {   S 7 w)NtraceDiscardedstacksIdr"   )r   rG   s     r   trace_discardedzLocalUtils.trace_discardedE   s+     ]]''(8$Y@WXXXXs   #,*,idframesc                 H    | j                   j                  dd d||di       y )NaddStackToTracingNoReplycallData)stackrL   )r#   send_no_reply)r   rL   rM   s      r   add_stack_to_tracing_no_replyz(LocalUtils.add_stack_to_tracing_no_replyH   s-    ##&#		
    )N)__name__
__module____qualname__r   strr   r   r!   r*   r   boolr   bytesr
   r8   r;   rA   rF   rK   intr   r	   rS   __classcell__)r   s   @r   r   r      s.   
"
*-
58
GK
	
6 6 6:3 :4 : %)

 
 	

 
 "
 5/
 

";S ;T ;;s ;S ;T ;Hx} H HQT HYs Yt Y

 

T*=M 

RV 

rT   r   dictr   c                 8    | d   | d   | d   | d   | d   | d   dS )N	userAgentviewportdeviceScaleFactorisMobilehasTouchdefaultBrowserType)
user_agentr`   device_scale_factor	is_mobile	has_touchdefault_browser_type )r]   s    r   r   r   U   s>    ;'$#$78*%*% $%9 : rT   )r4   typingr   r   r   r    playwright._impl._api_structuresr   playwright._impl._connectionr   r	   playwright._impl._helperr
   r   r   r   rj   rT   r   <module>ro      s9     - - 9 A F;
 ;
|$ 4 rT   