
    i
                     ~    d dl Z d dl mZ d dlmZmZmZmZ d dlmZm	Z	 d dl
mZmZmZ d dlmZ  G d de          ZdS )	    N)Path)DictOptionalUnioncast)ChannelOwnerfrom_channel)Errormake_dirs_for_filepatch_error_message)Streamc            
            e Zd Zdededededdf
 fdZdej        fdZ	d	e
eef         ddfd
Zdee         fdZddZdefdZddZ xZS )ArtifactparenttypeguidinitializerreturnNc                 j    t                                          ||||           |d         | _        d S )NabsolutePath)super__init__absolute_path)selfr   r   r   r   	__class__s        Z/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/playwright/_impl/_artifact.pyr   zArtifact.__init__   s6     	t[999(8    c                    K   | j         j        rt          d          | j                            dd            d {V }t          j        |          S )Nz\Path is not available when using browser_type.connect(). Use save_as() to save a local copy.pathAfterFinished)_connection	is_remoter
   _channelsendpathlibr   )r   paths     r   path_after_finishedzArtifact.path_after_finished   sx      % 	n   ]''
 
 
 
 
 
 
 
 |D!!!r   r%   c           	         K   t          t          t          | j                            dd            d {V                     }t          |           |                    |           d {V  d S )NsaveAsStream)r   r   r	   r"   r#   r   save_as)r   r%   streams      r   r)   zArtifact.save_as*   s      m(("        
 
 	4   nnT"""""""""""r   c                 n   K   | j                             dd            d {V }|d S t          |          S )Nfailure)r"   r#   r   )r   reasons     r   r,   zArtifact.failure7   s[      }))
 
 
 
 
 
 
 
 >4"6***r   c                 L   K   | j                             dd            d {V  d S )Ndeleter"   r#   r   s    r   r/   zArtifact.delete@   N      m  
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r   c           	         K   t          t          t          | j                            dd            d {V                     }|                                 d {V }|S )Nr*   )r   r   r	   r"   r#   read_all)r   r*   buffers      r   read_info_bufferzArtifact.read_info_bufferF   s      m((        
 
 ((((((((r   c                 L   K   | j                             dd            d {V  d S )Ncancelr0   r1   s    r   r8   zArtifact.cancelS   r2   r   )r   N)__name__
__module____qualname__r   strr   r   r$   r   r&   r   r)   r   r,   r/   bytesr6   r8   __classcell__)r   s   @r   r   r      s       9"9*-9589GK9	9 9 9 9 9 9	"7< 	" 	" 	" 	"#%T	"2 #t # # # #+x} + + + +
 
 
 
    
 
 
 
 
 
 
 
r   r   )r$   r   typingr   r   r   r   playwright._impl._connectionr   r	   playwright._impl._helperr
   r   r   playwright._impl._streamr   r    r   r   <module>rD      s           . . . . . . . . . . . . C C C C C C C C S S S S S S S S S S + + + + + +?
 ?
 ?
 ?
 ?
| ?
 ?
 ?
 ?
 ?
r   