U
    M»{j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r„ddlmZ n$ejdkrœddlmZ nddlmZ ddœdd„ZerÀe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   úT/var/www/html/bwave/python/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|  

     û     û     û     û     û     û     û     û     û     û     û     û     û     û     û     û     û     û     û     ûÛ