
    iE
                     `    d dl Z d dlmZmZ d dlmZ d dlmZ erd dlm	Z	  G d d          Z
dS )    N)TYPE_CHECKINGUnion)Artifact)Error)Pagec                       e Zd ZddZdefdZddZdeddfd	Zde	j
        fd
Zdeee	j
        f         ddfdZddZdS )Videopager   returnNc                     |j          _         |j         _        | _        |j                                          _        |                                r                                  d S |                    d fd           d S )Nclosec                 ,                                     S N)_page_closed)r
   selfs    W/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/playwright/_impl/_video.py<lambda>z Video.__init__.<locals>.<lambda>"   s    $*;*;*=*=     )_loop_dispatcher_fiber_pagecreate_future_artifact_future	is_closedr   on)r   r
   s   ` r   __init__zVideo.__init__   s    Z
!%!7
 $
 8 8 : :>> 	?GGG====>>>>>r   c                     d| j          dS )Nz<Video page=>)r   r   s    r   __repr__zVideo.__repr__$   s    +dj++++r   c                     | j                                         s)| j                             t          d                     d S d S )NzPage closed)r   doneset_exceptionr   r   s    r   r   zVideo._page_closed'   sK    $))++ 	F!//m0D0DEEEEE	F 	Fr   artifactc                 p    | j                                         s| j                             |           d S d S r   )r   r"   
set_resultr   r$   s     r   _artifact_readyzVideo._artifact_ready+   s@    $))++ 	7!,,X66666	7 	7r   c                    K   | j         j        j        rt          d          | j         d {V }|st          d          |j        S )Nz[Path is not available when using browserType.connect(). Use save_as() to save a local copy.%Page did not produce any video frames)r   _connection	is_remoter   r   absolute_pathr'   s     r   pathz
Video.path/   sh      :!+ 	m   ....... 	A?@@@%%r   r.   c                    K   | j         j        j        r| j         j        st	          d          | j         d {V }|st	          d          |                    |           d {V  d S )Nz?Page is not yet closed. Close the page prior to calling save_asr*   )r   r+   _is_sync
_is_closedr   r   save_as)r   r.   r$   s      r   r2   zVideo.save_as9   s      :!* 	4:3H 	Q   ....... 	A?@@@t$$$$$$$$$$$r   c                 z   K   | j          d {V }|st          d          |                                 d {V  d S )Nr*   )r   r   deleter'   s     r   r4   zVideo.deleteC   s`      ....... 	A?@@@oor   )r
   r   r   N)r   N)__name__
__module____qualname__r   strr    r   r   r(   pathlibPathr.   r   r2   r4    r   r   r	   r	      s        ? ? ? ?,# , , , ,F F F F7 7T 7 7 7 7&GL & & & &%%W\(9": %t % % % %           r   r	   )r9   typingr   r   playwright._impl._artifactr   playwright._impl._helperr   playwright._impl._pager   r	   r;   r   r   <module>r@      s     ' ' ' ' ' ' ' ' / / / / / / * * * * * * ,++++++.  .  .  .  .  .  .  .  .  . r   