o
    fV                     @  s  d Z ddlmZ ddl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 er6dd	lmZ dd
lmZ d^ddZe ZeZ					d_d`ddZ					d_daddZ					d_d`ddZ					d_dad d!Z				"	dbdcd$d%Z				"	dbdcd&d'Z					d_d`d(d)Z				"	dbdcd*d+Zddd,d-Zddd.d/Zddd0d1Zddd2d3Zddd4d5Zddd6d7Z 				"	dbdcd8d9Z!				"	dbdcd:d;Z"					d_ded=d>Z#					d_dfd?d@Z$					d_dedAdBZ%					d_dfdCdDZ&				"	dbdgdEdFZ'				"	dbdgdGdHZ(					d_dedIdJZ)				"	dbdgdKdLZ*dhdMdNZ+dhdOdPZ,dhdQdRZ-dhdSdTZ.dhdUdVZ/dhdWdXZ0				"	dbdgdYdZZ1				"	dbdgd[d\Z2g d]Z3dS )iz
Utilities for determining application-specific dirs.

See <https://github.com/platformdirs/platformdirs> for details and usage.

    )annotationsN)TYPE_CHECKING   )PlatformDirsABC)__version__)__version_tuple__)Path)Literalreturntype[PlatformDirsABC]c                  C  s   t jdkrddlm}  nt jdkrddlm}  nddlm}  t	ddkrKt	d	d
krKt	ds6t	dr8| S ddl
m} | d urKddl
m} |S | S )Nwin32r   )Windowsdarwin)MacOS)UnixANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIX)_android_folder)Android)sysplatformplatformdirs.windowsr   platformdirs.macosr   platformdirs.unixr   osgetenvplatformdirs.androidr   r   )Resultr   r    r    K/var/www/html/dev/env/lib/python3.10/site-packages/platformdirs/__init__.py_set_platform_dir_class   s   


r"   Fappname
str | None	appauthorstr | None | Literal[False]versionroamingboolensure_existsstrc                 C     t | ||||djS )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory tied to the user
    r#   r%   r'   r(   r*   )PlatformDirsuser_data_dirr-   r    r    r!   r/   1      r/   	multipathc                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data directory shared by users
    r#   r%   r'   r1   r*   )r.   site_data_dirr2   r    r    r!   r3   I   r0   r3   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory tied to the user
    r-   )r.   user_config_dirr-   r    r    r!   r4   a   r0   r4   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config directory shared by the users
    r2   )r.   site_config_dirr2   r    r    r!   r5   y   r0   r5   Topinionc                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r#   r%   r'   r6   r*   )r.   user_cache_dirr7   r    r    r!   r8      r0   r8   c                 C  r,   a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r7   )r.   site_cache_dirr7   r    r    r!   r:      r0   r:   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state directory tied to the user
    r-   )r.   user_state_dirr-   r    r    r!   r;      r0   r;   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log directory tied to the user
    r7   )r.   user_log_dirr7   r    r    r!   r<      r0   r<   c                   C     t  jS )z.:returns: documents directory tied to the user)r.   user_documents_dirr    r    r    r!   r>         r>   c                   C  r=   )z.:returns: downloads directory tied to the user)r.   user_downloads_dirr    r    r    r!   r@      r?   r@   c                   C  r=   )z-:returns: pictures directory tied to the user)r.   user_pictures_dirr    r    r    r!   rA      r?   rA   c                   C  r=   )z+:returns: videos directory tied to the user)r.   user_videos_dirr    r    r    r!   rB      r?   rB   c                   C  r=   )z*:returns: music directory tied to the user)r.   user_music_dirr    r    r    r!   rC     r?   rC   c                   C  r=   )z,:returns: desktop directory tied to the user)r.   user_desktop_dirr    r    r    r!   rD   
  r?   rD   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory tied to the user
    r7   )r.   user_runtime_dirr7   r    r    r!   rE     r0   rE   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory shared by users
    r7   )r.   site_runtime_dirr7   r    r    r!   rF   '  r0   rF   r   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path tied to the user
    r-   )r.   user_data_pathr-   r    r    r!   rG   ?  r0   rG   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r2   )r.   site_data_pathr2   r    r    r!   rH   W  r0   rH   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path tied to the user
    r-   )r.   user_config_pathr-   r    r    r!   rI   o  r0   rI   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param multipath: See `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r2   )r.   site_config_pathr2   r    r    r!   rJ     r0   rJ   c                 C  r,   r9   )r.   site_cache_pathr7   r    r    r!   rK     r0   rK   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache path tied to the user
    r7   )r.   user_cache_pathr7   r    r    r!   rL     r0   rL   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param roaming: See `roaming <platformdirs.api.PlatformDirsABC.roaming>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: state path tied to the user
    r-   )r.   user_state_pathr-   r    r    r!   rM     r0   rM   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `roaming <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: log path tied to the user
    r7   )r.   user_log_pathr7   r    r    r!   rN     r0   rN   c                   C  r=   )z+:returns: documents a path tied to the user)r.   user_documents_pathr    r    r    r!   rO     r?   rO   c                   C  r=   )z):returns: downloads path tied to the user)r.   user_downloads_pathr    r    r    r!   rP     r?   rP   c                   C  r=   )z(:returns: pictures path tied to the user)r.   user_pictures_pathr    r    r    r!   rQ   	  r?   rQ   c                   C  r=   )z&:returns: videos path tied to the user)r.   user_videos_pathr    r    r    r!   rR     r?   rR   c                   C  r=   )z%:returns: music path tied to the user)r.   user_music_pathr    r    r    r!   rS     r?   rS   c                   C  r=   )z':returns: desktop path tied to the user)r.   user_desktop_pathr    r    r    r!   rT     r?   rT   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path tied to the user
    r7   )r.   user_runtime_pathr7   r    r    r!   rU     r0   rU   c                 C  r,   )a  
    :param appname: See `appname <platformdirs.api.PlatformDirsABC.appname>`.
    :param appauthor: See `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`.
    :param version: See `version <platformdirs.api.PlatformDirsABC.version>`.
    :param opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path shared by users
    r7   )r.   site_runtime_pathr7   r    r    r!   rV   5  r0   rV   )%AppDirsr.   r   r   __version_info__r:   rK   r5   rJ   r3   rH   rF   rV   r8   rL   r4   rI   r/   rG   rD   rT   r>   rO   r@   rP   r<   rN   rC   rS   rA   rQ   rE   rU   r;   rM   rB   rR   )r
   r   )NNNFF)r#   r$   r%   r&   r'   r$   r(   r)   r*   r)   r
   r+   )r#   r$   r%   r&   r'   r$   r1   r)   r*   r)   r
   r+   )NNNTF)r#   r$   r%   r&   r'   r$   r6   r)   r*   r)   r
   r+   )r
   r+   )r#   r$   r%   r&   r'   r$   r(   r)   r*   r)   r
   r   )r#   r$   r%   r&   r'   r$   r1   r)   r*   r)   r
   r   )r#   r$   r%   r&   r'   r$   r6   r)   r*   r)   r
   r   )r
   r   )4__doc__
__future__r   r   r   typingr   apir   r'   r   r   rX   pathlibr   r	   r"   r.   rW   r/   r3   r4   r5   r8   r:   r;   r<   r>   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   __all__r    r    r    r!   <module>   s&   












