U
    5d7                     @  s  d Z ddlmZ ddlZddlZddlmZ ejdkrDddlm	Z	 nddl
m	Z	 ddlmZ dd	lmZ dd
lmZ ddddZe ZeZdFddddddddZdGddddddddZdHddddddddZdIddddddddZdJddddddd d!ZdKddddddd"d#ZdLddddddd$d%ZdMddddddd&d'Zddd(d)ZdNddddddd*d+ZdOddddd,dd-d.ZdPddddd,dd/d0ZdQddddd,dd1d2Z dRddddd,dd3d4Z!dSddddd,dd5d6Z"dTddddd,dd7d8Z#dUddddd,dd9d:Z$dVddddd,dd;d<Z%d,dd=d>Z&dWddddd,dd?d@Z'dAdBdCdDdEddd!d%d'd)d+ddd#d.d2d8d:d<d>d@d0d4d6gZ(dS )Xz
Utilities for determining application-specific dirs. See <https://github.com/platformdirs/platformdirs> for details and
usage.
    )annotationsN)Path)      )Literal   )PlatformDirsABC)__version__)__version_tuple__ztype[PlatformDirsABC])returnc                  C  s   t jdkrddlm}  n$t jdkr0ddlm}  nddlm}  t	ddkrt	d	d
krt	dslt	drp| S ddl
m} | d k	rddl
m} |S | S )Nwin32r   )Windowsdarwin)MacOS)UnixZANDROID_DATAz/dataZANDROID_ROOTz/systemSHELLPREFIX)_android_folder)Android)sysplatformZplatformdirs.windowsr   Zplatformdirs.macosr   Zplatformdirs.unixr   osgetenvZplatformdirs.androidr   r   )ZResultr   r    r   9/tmp/pip-unpacked-wheel-pxart73n/platformdirs/__init__.py_set_platform_dir_class   s    


r   Fz
str | Nonezstr | None | Literal[False]boolstr)appname	appauthorversionroamingr   c                 C  s   t | |||djS )aq  
    :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.version>`.
    :returns: data directory tied to the user
    r   r   r    r!   )PlatformDirsuser_data_dirr"   r   r   r   r$   /   s    r$   )r   r   r    	multipathr   c                 C  s   t | |||djS )at  
    :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>`.
    :returns: data directory shared by users
    r   r   r    r%   )r#   site_data_dirr&   r   r   r   r'   ?   s    r'   c                 C  s   t | |||djS )as  
    :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.version>`.
    :returns: config directory tied to the user
    r"   )r#   user_config_dirr"   r   r   r   r(   O   s    r(   c                 C  s   t | |||djS )az  
    :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>`.
    :returns: config directory shared by the users
    r&   )r#   site_config_dirr&   r   r   r   r)   _   s    r)   T)r   r   r    opinionr   c                 C  s   t | |||djS )ar  
    :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>`.
    :returns: cache directory tied to the user
    r   r   r    r*   )r#   user_cache_dirr+   r   r   r   r,   o   s    r,   c                 C  s   t | |||djS ar  
    :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>`.
    :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 )ar  
    :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.version>`.
    :returns: state directory tied to the user
    r"   )r#   user_state_dirr"   r   r   r   r/      s    r/   c                 C  s   t | |||djS )ap  
    :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>`.
    :returns: log directory tied to the user
    r+   )r#   user_log_dirr+   r   r   r   r0      s    r0   c                   C  s   t  jS )z8
    :returns: documents directory tied to the user
    )r#   user_documents_dirr   r   r   r   r1      s    r1   c                 C  s   t | |||djS )at  
    :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>`.
    :returns: runtime directory tied to the user
    r+   )r#   user_runtime_dirr+   r   r   r   r2      s    r2   r   c                 C  s   t | |||djS )al  
    :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.version>`.
    :returns: data path tied to the user
    r"   )r#   user_data_pathr"   r   r   r   r3      s    r3   c                 C  s   t | |||djS )aq  
    :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>`.
    :returns: data path shared by users
    r&   )r#   site_data_pathr&   r   r   r   r4      s    r4   c                 C  s   t | |||djS )an  
    :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.version>`.
    :returns: config path tied to the user
    r"   )r#   user_config_pathr"   r   r   r   r5      s    r5   c                 C  s   t | |||djS )au  
    :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>`.
    :returns: config path shared by the users
    r&   )r#   site_config_pathr&   r   r   r   r6      s    r6   c                 C  s   t | |||djS r-   )r#   site_cache_pathr+   r   r   r   r7     s    r7   c                 C  s   t | |||djS )am  
    :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>`.
    :returns: cache path tied to the user
    r+   )r#   user_cache_pathr+   r   r   r   r8     s    r8   c                 C  s   t | |||djS )am  
    :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.version>`.
    :returns: state path tied to the user
    r"   )r#   user_state_pathr"   r   r   r   r9   &  s    r9   c                 C  s   t | |||djS )ak  
    :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>`.
    :returns: log path tied to the user
    r+   )r#   user_log_pathr+   r   r   r   r:   6  s    r:   c                   C  s   t  jS )z3
    :returns: documents path tied to the user
    )r#   user_documents_pathr   r   r   r   r;   F  s    r;   c                 C  s   t | |||djS )ao  
    :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>`.
    :returns: runtime path tied to the user
    r+   )r#   user_runtime_pathr+   r   r   r   r<   M  s    r<   r	   __version_info__r#   AppDirsr   )NNNF)NNNF)NNNF)NNNF)NNNT)NNNT)NNNF)NNNT)NNNT)NNNF)NNNF)NNNF)NNNF)NNNT)NNNT)NNNF)NNNT)NNNT))__doc__
__future__r   r   r   pathlibr   version_infotypingr   Ztyping_extensionsapir   r    r	   r
   r=   r   r#   r>   r$   r'   r(   r)   r,   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   __all__r   r   r   r   <module>   s  
                                                                        