U
    #i
                     @  sZ   d dl mZ d dlmZ ddlmZmZ ddlmZ ddl	m
Z
 dgZG d	d deZd
S )    )annotations)DEFAULT_TIMEOUT   )
SyncClient__version__   )SyncStorageBucketAPI)SyncBucketProxySyncStorageClientc                      s   e Zd ZdZedfdddddd fd	d
ZdddddddddZd dddZddddZddddZ	dddddZ
  ZS )r
   z!Manage storage buckets and files.Tstrzdict[str, str]intboolNone)urlheaderstimeoutverifyreturnc                   s6   ddt  i|}| ||||| _t | j d S )Nz
User-Agentzsupabase-py/storage3 v)r   _create_sessionsessionsuper__init__)selfr   r   r   r   	__class__ 9/tmp/pip-unpacked-wheel-7lsqp372/storage3/_sync/client.pyr      s     zSyncStorageClient.__init__r   )base_urlr   r   r   r   c                 C  s   t |||t|dddS )NT)r   r   r   r   Zfollow_redirectsZhttp2)r   r   )r   r   r   r   r   r   r   r   r      s    z!SyncStorageClient._create_session)r   c                 C  s   | S Nr   r   r   r   r   	__enter__+   s    zSyncStorageClient.__enter__c                 C  s   |    d S r   )aclose)r   exc_typeexctbr   r   r   __exit__.   s    zSyncStorageClient.__exit__c                 C  s   | j   d S r   )r   r!   r   r   r   r   r!   1   s    zSyncStorageClient.acloser	   )idr   c                 C  s   t || jS )zRun a storage file operation.

        Parameters
        ----------
        id
            The unique identifier of the bucket
        )r	   Z_client)r   r&   r   r   r   from_4   s    zSyncStorageClient.from_)T)__name__
__module____qualname____doc__r   r   r   r    r%   r!   r'   __classcell__r   r   r   r   r
      s    N)
__future__r   Zstorage3.constantsr   utilsr   r   Zbucketr   Zfile_apir	   __all__r
   r   r   r   r   <module>   s   