o
    ADi                     @  s   d dl mZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ g dZeZG dd	 d	eZG d
d deZG dd deZG dd deZdS )    )annotationsN)Any)FSSpecAccessorShim)upath_strip_protocol)UPath)	CloudPathGCSPathS3Path	AzurePathc                      sV   e Zd ZdZed fd
dZ	dd fddZ fddZdd fdd
Z  Z	S )r    argstuple[str | os.PathLike, ...]protocolstrstorage_optionsdict[str, Any]return9tuple[tuple[str | os.PathLike, ...], str, dict[str, Any]]c                   s   dD ]@}| |d }|rBt|d dr)| d| |d  g|dd  R }nt|d }| d| d|g|dd  R } nqt |||S )N)bucketnetlocr   /z://   )popr   
startswithr   super_transform_init_args)clsr   r   r   keyr   args0	__class__r   T/var/www/Datamplify/venv/lib/python3.10/site-packages/upath/implementations/cloud.pyr      s   ("zCloudPath._transform_init_args  Fmodeintparentsboolexist_okNonec                   s0   |s|s|   rt| jt j|||d d S )Nr#   r%   r'   )existsFileExistsErrorpathr   mkdir)selfr#   r%   r'   r   r   r!   r-   +   s   
zCloudPath.mkdirc                 #  sP    |   rtt| | jdd  dkr| j E d H  d S t  E d H  d S )N) )is_fileNotADirectoryErrorr   partsparentiterdirr   )r.   r   r   r!   r5   2   s   zCloudPath.iterdir)walk_upc                 s   t  j|g|R ddi | S )Nr6   F)r   relative_to)r.   otherr6   _deprecatedr   r   r!   r7   :   s   zCloudPath.relative_to)r   r   r   r   r   r   r   r   r"   FFr#   r$   r%   r&   r'   r&   r   r(   )
__name__
__module____qualname__	__slots__classmethodr   r-   r5   r7   __classcell__r   r   r   r!   r      s    r   c                      s:   e Zd ZdZddd fd
dZ	dd fddZ  ZS )r   r   Nr   r   
str | Noner   r   r   r(   c                  :   t  j|d|i| | jst| jdkrtdd S d S Nr   r   z5non key-like path provided (bucket/container missing)r   __init__drivelenr3   
ValueErrorr.   r   r   r   r   r   r!   rG   C      zGCSPath.__init__r"   Fr#   r$   r%   r&   r'   c              
     sh   zt  j|||d W d S  ty3 } zdt|v r(| j| j W Y d }~d S W Y d }~d S d }~ww )Nr)   z,unexpected keyword argument 'create_parents')r   r-   	TypeErrorr   fsr,   )r.   r#   r%   r'   errr   r   r!   r-   J   s   zGCSPath.mkdirr   rC   r   r   r   r(   r:   r;   )r<   r=   r>   r?   rG   r-   rA   r   r   r   r!   r   @   s    r   c                      (   e Zd ZdZddd fd
dZ  ZS )r	   r   NrB   r   rC   r   r   r   r(   c                  rD   rE   rF   rK   r   r   r!   rG   W   rL   zS3Path.__init__rP   r<   r=   r>   r?   rG   rA   r   r   r   r!   r	   T       r	   c                      rQ   )r
   r   NrB   r   rC   r   r   r   r(   c                  rD   rE   rF   rK   r   r   r!   rG   b   rL   zAzurePath.__init__rP   rR   r   r   r   r!   r
   _   rS   r
   )
__future__r   ostypingr   upath._compatr   _FSSpecAccessorShimupath._flavourr   
upath.corer   __all___CloudAccessorr   r   r	   r
   r   r   r   r!   <module>   s    	*