
    g                     v    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y)	    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                 >    t         |   ||||       |d   | _        y )NabsolutePath)super__init__absolute_path)selfr   r   r   r   	__class__s        O/var/www/openai/venv/lib/python3.12/site-packages/playwright/_impl/_artifact.pyr   zArtifact.__init__   s%     	t[9(8    c                    K   | j                   j                  rt        d      | j                  j	                  d       d {   }t        j                  |      S 7 w)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   sS     %%n  ]]''(;<<||D!! =s   A AAAr%   c                    K   t        t        t        | j                  j	                  d       d {               }t        |       |j                  |       d {    y 7 17 w)NsaveAsStream)r   r   r	   r"   r#   r   save_as)r   r%   streams      r   r)   zArtifact.save_as'   sM     fl1C1CN1S+STU4 nnT""" ,T"s!   .A&A"+A&A$A&$A&c                 p   K   | j                   j                  d       d {   }|y t        |      S 7 w)Nfailure)r"   r#   r   )r   reasons     r   r,   zArtifact.failure,   s5     }})))44>"6** 5s   646c                 V   K   | j                   j                  d       d {    y 7 w)Ndeleter"   r#   r   s    r   r/   zArtifact.delete2        mm  ***   )')c                    K   t        t        t        | j                  j	                  d       d {               }|j                          d {   }|S 7 &7 w)Nr*   )r   r   r	   r"   r#   read_all)r   r*   buffers      r   read_info_bufferzArtifact.read_info_buffer5   sG     fl1C1CH1M+MNO(( ,N(s!   .AAAAAAc                 V   K   | j                   j                  d       d {    y 7 w)Ncancelr0   r1   s    r   r9   zArtifact.cancel:   r2   r3   )r   N)__name__
__module____qualname__r   strr   r   r$   r   r&   r   r)   r   r,   r/   bytesr7   r9   __classcell__)r   s   @r   r   r      s    9"9*-9589GK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>rE      s+      . . C S S +#+| #+r   