a
    ҏif                     @   sp   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 deZdS )	    N)Path)DictOptionalUnioncast)ChannelOwnerfrom_channel)Errormake_dirs_for_filepatch_error_message)Streamc                       s   e Zd Zeeeedd fddZejdddZ	e
eef ddd	d
Zee dddZddddZedddZddddZ  ZS )ArtifactN)parenttypeguidinitializerreturnc                    s    t  |||| |d | _d S )NZabsolutePath)super__init__Zabsolute_path)selfr   r   r   r   	__class__ J/home/Claro/venv/lib/python3.9/site-packages/playwright/_impl/_artifact.pyr      s    zArtifact.__init__)r   c                    s,   | j jrtd| jdI d H }t|S )Nz\Path is not available when using browser_type.connect(). Use save_as() to save a local copy.ZpathAfterFinished)_connectionZ	is_remoter	   _channelsendpathlibr   )r   pathr   r   r   path_after_finished   s    zArtifact.path_after_finished)r   r   c                    s8   t tt| jdI d H }t| ||I d H  d S )NZsaveAsStream)r   r   r   r   r   r
   save_as)r   r   streamr   r   r   r    '   s    zArtifact.save_asc                    s   t | jdI d H S )Nfailure)r   r   r   r   r   r   r   r"   ,   s    zArtifact.failurec                    s   | j dI d H  d S )Ndeleter   r   r#   r   r   r   r$   /   s    zArtifact.deletec                    s.   t tt| jdI d H }| I d H }|S )Nr!   )r   r   r   r   r   Zread_all)r   r!   bufferr   r   r   read_info_buffer2   s    zArtifact.read_info_bufferc                    s   | j dI d H  d S )Ncancelr%   r#   r   r   r   r(   7   s    zArtifact.cancel)__name__
__module____qualname__r   strr   r   r   r   r   r   r    r   r"   r$   bytesr'   r(   __classcell__r   r   r   r   r      s   r   )r   r   typingr   r   r   r   Zplaywright._impl._connectionr   r   Zplaywright._impl._helperr	   r
   r   Zplaywright._impl._streamr   r   r   r   r   r   <module>   s   