
    gE
                     X    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
y)    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y)VideoreturnNc                     |j                    _         |j                   _        | _        |j                   j                          _        |j                         r j                          y |j                  d fd       y )Nclosec                 $    j                         S N)_page_closed)pageselfs    L/var/www/openai/venv/lib/python3.12/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]    ZZ
!%!7!7
 $

 8 8 :>>GGG=>r   c                 "    d| j                    dS )Nz<Video page=>)r   r   s    r   __repr__zVideo.__repr__$   s    djj\++r   c                     | j                   j                         s%| j                   j                  t        d             y y )NzPage closed)r   doneset_exceptionr   r   s    r   r   zVideo._page_closed'   s2    $$))+!!//m0DE ,r   artifactc                 p    | j                   j                         s| j                   j                  |       y y r   )r   r"   
set_resultr   r$   s     r   _artifact_readyzVideo._artifact_ready+   s-    $$))+!!,,X6 ,r   c                    K   | j                   j                  j                  rt        d      | j                   d {   }|st        d      |j
                  S 7 w)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/   sY     ::!!++m  ...?@@%%% /s   ;AAAr.   c                 
  K   | j                   j                  j                  r!| j                   j                  st	        d      | j
                   d {   }|st	        d      |j                  |       d {    y 7 +7 w)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   ss     ::!!**4::3H3HQ  ...?@@t$$$ / 	%s$   ABA?%B9B:BBc                    K   | j                    d {   }|st        d      |j                          d {    y 7 *7 w)Nr*   )r   r   deleter'   s     r   r4   zVideo.deleteC   s>     ...?@@oo / 	 s   A=$A?AA)r   r   r
   N)r
   N)__name__
__module____qualname__r   strr    r   r   r(   pathlibPathr.   r   r2   r4    r   r   r	   r	      sb    ?,# ,F7 7T 7&GLL &%%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   