o
    %h                     @   sr   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 de	Zded	efd
dZdS )    N)DictListOptionalcast)HeadersArray)ChannelOwner
StackFrame)HarLookupResultlocals_to_paramsc                       s   e Zd Zdededededdf
 fddZd	eddfd
dZdeddfddZ	d(dededede	de
dee defddZdeddfddZdededdfddZdee dedefdd Zd!eddfd"d#Zd$ed%ee ddfd&d'Z  ZS ))
LocalUtilsparenttypeguidinitializerreturnNc                    s*   t  |||| dd |d D | _d S )Nc                 S   s   i | ]}|d  t |d qS )name
descriptor)parse_device_descriptor).0device r   Q/var/www/html/myenv/lib/python3.10/site-packages/playwright/_impl/_local_utils.py
<dictcomp>   s    z'LocalUtils.__init__.<locals>.<dictcomp>deviceDescriptors)super__init__devices)selfr   r   r   r   	__class__r   r   r      s   zLocalUtils.__init__paramsc                    s   | j dd |I d H  d S )Nzip_channelsend)r   r    r   r   r   r!   !      zLocalUtils.zipfilec                    &   t t }| jdd |I d H  d S )NharOpenr
   localsr#   r$   )r   r&   r    r   r   r   har_open$      
zLocalUtils.har_openharIdurlmethodheadersisNavigationRequestpostDatac                    sF   t t }d|v rt|d  |d< tt| jdd |I d H S )Nr2   	harLookup)	r
   r*   base64	b64encodedecoder   r	   r#   send_return_as_dict)r   r-   r.   r/   r0   r1   r2   r    r   r   r   
har_lookup(   s   
	zLocalUtils.har_lookupc                    r'   )NharCloser)   )r   r-   r    r   r   r   	har_close9   r,   zLocalUtils.har_closezipFileharFilec                    s&   t t }| jdd |I d H  d S )NharUnzipr)   )r   r;   r<   r    r   r   r   	har_unzip=   r,   zLocalUtils.har_unzip	tracesDir	traceNamec                    s"   t t }| jdd |I d H S )NtracingStartedr)   )r   r?   r@   r    r   r   r   tracing_startedA   s   
zLocalUtils.tracing_started	stacks_idc                    s   | j dd d|iI d H S )NtraceDiscardedstacksIdr"   )r   rC   r   r   r   trace_discardedE   r%   zLocalUtils.trace_discardedidframesc                 C   s   | j dd d||di d S )NaddStackToTracingNoReplycallData)stackrG   )r#   send_no_reply)r   rG   rH   r   r   r   add_stack_to_tracing_no_replyH   s   z(LocalUtils.add_stack_to_tracing_no_reply)N)__name__
__module____qualname__r   strr   r   r!   r+   r   boolr   bytesr	   r8   r:   r>   rB   rF   intr   r   rM   __classcell__r   r   r   r   r      sF    	
"r   dictr   c                 C   s*   | d | d | d | d | d | d dS )N	userAgentviewportdeviceScaleFactorisMobilehasTouchdefaultBrowserType)
user_agentrX   device_scale_factor	is_mobile	has_touchdefault_browser_typer   )rV   r   r   r   r   U   s   r   )r4   typingr   r   r   r    playwright._impl._api_structuresr   playwright._impl._connectionr   r   playwright._impl._helperr	   r
   r   r   r   r   r   r   <module>   s   >