
    g}                     J    d dl Z d dlmZ d dlmZmZ d dlmZ  G d de      Zy)    N)Path)DictUnion)ChannelOwnerc            
       Z     e Zd Zdededededdf
 fdZdeeef   ddfd	Z	de
fd
Z xZS )StreamparenttypeguidinitializerreturnNc                 *    t         |   ||||       y N)super__init__)selfr	   r
   r   r   	__class__s        M/var/www/openai/venv/lib/python3.12/site-packages/playwright/_impl/_stream.pyr   zStream.__init__   s     	t[9    pathc                 d  K   | j                   j                  d fd       d {   	 | j                  j                  dddi       d {   sn)| j                   j                  d fd       d {    R| j                   j                  d fd       d {    y 7 7 Z7 17 w)Nc                      t         d      S )Nwb)open)r   s   r   <lambda>z Stream.save_as.<locals>.<lambda>   s    d4>Nr   readsize   c                  L    j                  t        j                               S r   )writebase64	b64decode)binaryfiles   r   r   z Stream.save_as.<locals>.<lambda>#   s    djj)9)9&)ABr   c                  $     j                         S r   )close)r$   s   r   r   z Stream.save_as.<locals>.<lambda>%   s    tzz|r   )_looprun_in_executor_channelsend)r   r   r#   r$   s    `@@r   save_aszStream.save_as   s     ZZ//6NOO==--fv{6KLLF**,,B  	  jj((/CDDD PL 	EsE   #B0B(&B0B**B0:B,;'B0"B.#B0*B0,B0.B0c                    K   d}	 | j                   j                  dddi       d {   }|s	 |S |t        j                  |      z  }D7 "w)Nr   r   r   r   )r)   r*   r!   r"   )r   r#   chunks      r   read_allzStream.read_all'   sV     --,,Vfk5JKKE f&&u--F	 Ks   %AA
#A)__name__
__module____qualname__r   strr   r   r   r   r+   bytesr.   __classcell__)r   s   @r   r   r      s[    :":*-:58:GK:	:
	E%T	"2 	Et 	E r   r   )	r!   pathlibr   typingr   r   playwright._impl._connectionr   r    r   r   <module>r9      s       5\ r   