o
    oÄŽiN  ã                   @   s€   d dl mZmZ ddlmZ ddlmZ ddlmZ eƒ Z		 G dd„ deƒZ
e
je
_G d	d
„ d
eƒZde_de	_e
e	_ee	_dS )é    )ÚAnyÚOptionalé   )ÚCloudImplementationé   )ÚLocalClient)Ú	LocalPathc                   @   s   e Zd ZdZeZdS )ÚLocalS3Clientz{Replacement for S3Client that uses the local file system. Intended as a monkeypatch
    substitute when writing tests.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úlocal_s3_implementationÚ_cloud_meta© r   r   úa/home/jeff/fluffinator/venv/lib/python3.10/site-packages/cloudpathlib/local/implementations/s3.pyr	      s    r	   c                   @   sx   e Zd ZU dZdZeed< eZe	defdd„ƒZ
dd	ee fd
d„Ze	defdd„ƒZe	defdd„ƒZe	dd„ ƒZdS )ÚLocalS3PathzyReplacement for S3Path that uses the local file system. Intended as a monkeypatch substitute
    when writing tests.
    zs3://Úcloud_prefixÚreturnc                 C   s   | j S ©N)Úbucket©Úselfr   r   r   Údrive   s   zLocalS3Path.driveFNÚmodec                 C   s   d S r   r   )r   ÚparentsÚexist_okr   r   r   r   Úmkdir#   s   zLocalS3Path.mkdirc                 C   s   | j  dd¡d S )Nú/é   r   )Ú
_no_prefixÚsplitr   r   r   r   r   '   s   zLocalS3Path.bucketc                 C   s    | j }| d¡r|dd … }|S )Nr   r   )Ú_no_prefix_no_driveÚ
startswith)r   Úkeyr   r   r   r$   +   s   
zLocalS3Path.keyc                 C   s   | j  | ¡S r   )ÚclientÚ_md5r   r   r   r   Úetag6   s   zLocalS3Path.etag)FFN)r
   r   r   r   r   ÚstrÚ__annotations__r   r   Úpropertyr   r   r   r   r   r$   r'   r   r   r   r   r      s   
 
r   ÚS3PathÚs3N)Útypingr   r   Ú	cloudpathr   Úlocalclientr   Ú	localpathr   r   r	   Ú	CloudPathr+   r   r
   ÚnameÚ_client_classÚ_path_classr   r   r   r   Ú<module>   s    $
