
    g                    t    d dl mZ d dlmZ d dlmZ ddlmZ ddlm	Z	 ddl
mZ dd	lmZ d
gZ G d d
e      Zy)    )annotations)Optional)DEFAULT_TIMEOUT   )AsyncClient)__version__   )AsyncStorageBucketAPI)AsyncBucketProxyAsyncStorageClientc                       e Zd ZdZeddf	 	 	 	 	 	 	 	 	 	 	 d
 fdZ	 	 d	 	 	 	 	 	 	 	 	 	 	 ddZddZddZddZ	dd	Z
 xZS )r   z!Manage storage buckets and files.TNc                    ddt          i|}| j                  |||||      | _        t        |   | j                         y )Nz
User-Agentzsupabase-py/storage3 v)r   _create_sessionsessionsuper__init__)selfurlheaderstimeoutverifyproxy	__class__s         K/var/www/openai/venv/lib/python3.12/site-packages/storage3/_async/client.pyr   zAsyncStorageClient.__init__   sN     2;-@

 ++C'65Q&    c           	     8    t        ||||t        |      dd      S )NT)base_urlr   r   r   r   follow_redirectshttp2)r   bool)r   r   r   r   r   r   s         r   r   z"AsyncStorageClient._create_session#   s*     <!
 	
r   c                   K   | S wN r   s    r   
__aenter__zAsyncStorageClient.__aenter__5   s     s   c                @   K   | j                          d {    y 7 wr"   )aclose)r   exc_typeexctbs       r   	__aexit__zAsyncStorageClient.__aexit__8   s     kkms   c                T   K   | j                   j                          d {    y 7 wr"   )r   r'   r$   s    r   r'   zAsyncStorageClient.aclose;   s     ll!!###s   (&(c                .    t        || j                        S )zRun a storage file operation.

        Parameters
        ----------
        id
            The unique identifier of the bucket
        )r   _client)r   ids     r   from_zAsyncStorageClient.from_>   s      DLL11r   )r   strr   dict[str, str]r   intr   r    r   Optional[str]returnNone)TN)r   r1   r   r2   r   r3   r   r    r   r4   r5   r   )r5   r   )r5   r6   )r/   r1   r5   r   )__name__
__module____qualname____doc__r   r   r   r%   r+   r'   r0   __classcell__)r   s   @r   r   r      s    + '#''  ' 	'
 ' ' 
'( #

  
 	

 
 
 

$$2r   N)
__future__r   typingr   storage3.constantsr   utilsr   versionr   bucketr
   file_apir   __all__r   r#   r   r   <module>rD      s3    "  .  ! ) & 
52. 52r   