U
    ?hW                  %   @  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rldd	lmZ dd
lmZ ejdkrddlmZ n$ejdkrddlmZ nddlmZ ddddZereZne ZeZdcdddddddddZdddddddddddZdeddddddddd Zdfdddddddd!d"Zdgddddddd$d%d&Zdhddddddd$d'd(Z didddddddd)d*Z!djddddddd$d+d,Z"ddd-d.Z#ddd/d0Z$ddd1d2Z%ddd3d4Z&ddd5d6Z'ddd7d8Z(dkddddddd$d9d:Z)dlddddddd$d;d<Z*dmdddddd=dd>d?Z+dndddddd=dd@dAZ,dodddddd=ddBdCZ-dpdddddd=ddDdEZ.dqdddddd=d$dFdGZ/drdddddd=d$dHdIZ0dsdddddd=ddJdKZ1dtdddddd=d$dLdMZ2d=ddNdOZ3d=ddPdQZ4d=ddRdSZ5d=ddTdUZ6d=ddVdWZ7d=ddXdYZ8dudddddd=d$dZd[Z9dvdddddd=d$d\d]Z:d^d_d`dadbd(dGd"dEddAd<d]d&dId dCdd?d8dYd.dOd0dQd,dMd6dWd2dSd:d[d*dKd4dUg%Z;dS )wz
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win32)Windowsdarwin)MacOS)Unixztype[PlatformDirsABC])returnc                  C  s^   t ddkrZt ddkrZt ds0t dr4tS ddlm}  |  d k	rZdd	lm} |S tS )
NANDROID_DATAz/dataANDROID_ROOTz/systemSHELLPREFIXr   )_android_folder)Android)osgetenv_ResultZplatformdirs.androidr   r   )r   r    r   G/var/www/html/venv/lib/python3.8/site-packages/platformdirs/__init__.py_set_platform_dir_class   s    
r   Fz
str | Nonezstr | None | Literal[False]boolstr)appname	appauthorversionroamingensure_existsr   c                 C  s   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%   5   s    r%   )r   r   r    	multipathr"   r   c                 C  s   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 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    r&   r"   )r$   site_data_dirr'   r   r   r   r(   M   s    r(   c                 C  s   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: config directory tied to the user
    r#   )r$   user_config_dirr#   r   r   r   r)   e   s    r)   c                 C  s   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 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
    r'   )r$   site_config_dirr'   r   r   r   r*   }   s    r*   T)r   r   r    opinionr"   r   c                 C  s   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 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    r+   r"   )r$   user_cache_dirr,   r   r   r   r-      s    r-   c                 C  s   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 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
    r,   )r$   site_cache_dirr,   r   r   r   r/      s    r/   c                 C  s   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: state directory tied to the user
    r#   )r$   user_state_dirr#   r   r   r   r0      s    r0   c                 C  s   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 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
    r,   )r$   user_log_dirr,   r   r   r   r1      s    r1   c                   C  s   t  jS )z.:returns: documents directory tied to the user)r$   user_documents_dirr   r   r   r   r2      s    r2   c                   C  s   t  jS )z.:returns: downloads directory tied to the user)r$   user_downloads_dirr   r   r   r   r3      s    r3   c                   C  s   t  jS )z-:returns: pictures directory tied to the user)r$   user_pictures_dirr   r   r   r   r4      s    r4   c                   C  s   t  jS )z+:returns: videos directory tied to the user)r$   user_videos_dirr   r   r   r   r5     s    r5   c                   C  s   t  jS )z*:returns: music directory tied to the user)r$   user_music_dirr   r   r   r   r6   	  s    r6   c                   C  s   t  jS )z,:returns: desktop directory tied to the user)r$   user_desktop_dirr   r   r   r   r7     s    r7   c                 C  s   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 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
    r,   )r$   user_runtime_dirr,   r   r   r   r8     s    r8   c                 C  s   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 opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime directory shared by users
    r,   )r$   site_runtime_dirr,   r   r   r   r9   +  s    r9   r   c                 C  s   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 path tied to the user
    r#   )r$   user_data_pathr#   r   r   r   r:   C  s    r:   c                 C  s   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 multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r'   )r$   site_data_pathr'   r   r   r   r;   [  s    r;   c                 C  s   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: config path tied to the user
    r#   )r$   user_config_pathr#   r   r   r   r<   s  s    r<   c                 C  s   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 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
    r'   )r$   site_config_pathr'   r   r   r   r=     s    r=   c                 C  s   t | ||||djS r.   )r$   site_cache_pathr,   r   r   r   r>     s    r>   c                 C  s   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 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
    r,   )r$   user_cache_pathr,   r   r   r   r?     s    r?   c                 C  s   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: state path tied to the user
    r#   )r$   user_state_pathr#   r   r   r   r@     s    r@   c                 C  s   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 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
    r,   )r$   user_log_pathr,   r   r   r   rA     s    rA   c                   C  s   t  jS )z+:returns: documents a path tied to the user)r$   user_documents_pathr   r   r   r   rB     s    rB   c                   C  s   t  jS )z):returns: downloads path tied to the user)r$   user_downloads_pathr   r   r   r   rC     s    rC   c                   C  s   t  jS )z(:returns: pictures path tied to the user)r$   user_pictures_pathr   r   r   r   rD     s    rD   c                   C  s   t  jS )z&:returns: videos path tied to the user)r$   user_videos_pathr   r   r   r   rE     s    rE   c                   C  s   t  jS )z%:returns: music path tied to the user)r$   user_music_pathr   r   r   r   rF     s    rF   c                   C  s   t  jS )z':returns: desktop path tied to the user)r$   user_desktop_pathr   r   r   r   rG     s    rG   c                 C  s   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 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
    r,   )r$   user_runtime_pathr,   r   r   r   rH   !  s    rH   c                 C  s   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 opinion: See `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: runtime path shared by users
    r,   )r$   site_runtime_pathr,   r   r   r   rI   9  s    rI   AppDirsr$   r   r   __version_info__)NNNFF)NNNFF)NNNFF)NNNFF)NNNTF)NNNTF)NNNFF)NNNTF)NNNTF)NNNTF)NNNFF)NNNFF)NNNFF)NNNFF)NNNTF)NNNTF)NNNFF)NNNTF)NNNTF)NNNTF)<__doc__
__future__r   r   systypingr   apir   r    r   r   rK   pathlibr   r	   platformZplatformdirs.windowsr   r   Zplatformdirs.macosr   Zplatformdirs.unixr   r   r$   rJ   r%   r(   r)   r*   r-   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   __all__r   r   r   r   <module>   s|  

                                                                                                    