o
    Zh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rBdd	lmZ ejd
kr<ddlmZ nddlmZ d_ddZe ZeZ					d`daddZ					d`dbddZ					d`dadd Z					d`dbd!d"Z				#	dcddd%d&Z				#	dcddd'd(Z					d`dad)d*Z				#	dcddd+d,Zded-d.Zded/d0Zded1d2Zded3d4Z ded5d6Z!ded7d8Z"				#	dcddd9d:Z#				#	dcddd;d<Z$					d`dfd>d?Z%					d`dgd@dAZ&					d`dfdBdCZ'					d`dgdDdEZ(				#	dcdhdFdGZ)				#	dcdhdHdIZ*					d`dfdJdKZ+				#	dcdhdLdMZ,didNdOZ-didPdQZ.didRdSZ/didTdUZ0didVdWZ1didXdYZ2				#	dcdhdZd[Z3				#	dcdhd\d]Z4g d^Z5dS )jz
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platformZplatformdirs.windowsr   Zplatformdirs.macosr   Zplatformdirs.unixr   osgetenvZplatformdirs.androidr   r   )Resultr   r    r   L/var/www/html/lang_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-   2      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%   r/   r(   )r,   site_data_dirr0   r   r   r   r1   J   r.   r1   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   r2   b   r.   r2   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
    r0   )r,   site_config_dirr0   r   r   r   r3   z   r.   r3   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%   r4   r(   )r,   user_cache_dirr5   r   r   r   r6      r.   r6   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
    r5   )r,   site_cache_dirr5   r   r   r   r8      r.   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 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   r9      r.   r9   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
    r5   )r,   user_log_dirr5   r   r   r   r:      r.   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   r?      r=   r?   c                   C  r;   )z+:returns: videos directory tied to the user)r,   user_videos_dirr   r   r   r   r@     r=   r@   c                   C  r;   )z*:returns: music directory tied to the user)r,   user_music_dirr   r   r   r   rA     r=   rA   c                   C  r;   )z,:returns: desktop directory tied to the user)r,   user_desktop_dirr   r   r   r   rB     r=   rB   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
    r5   )r,   user_runtime_dirr5   r   r   r   rC     r.   rC   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
    r5   )r,   site_runtime_dirr5   r   r   r   rD   (  r.   rD   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   rE   @  r.   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 multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r0   )r,   site_data_pathr0   r   r   r   rF   X  r.   rF   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   rG   p  r.   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 `roaming <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: config path shared by the users
    r0   )r,   site_config_pathr0   r   r   r   rH     r.   rH   c                 C  r*   r7   )r,   site_cache_pathr5   r   r   r   rI     r.   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 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
    r5   )r,   user_cache_pathr5   r   r   r   rJ     r.   rJ   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   rK     r.   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: log path tied to the user
    r5   )r,   user_log_pathr5   r   r   r   rL     r.   rL   c                   C  r;   )z):returns: documents path tied to the user)r,   user_documents_pathr   r   r   r   rM      r=   rM   c                   C  r;   )z):returns: downloads path tied to the user)r,   user_downloads_pathr   r   r   r   rN     r=   rN   c                   C  r;   )z(:returns: pictures path tied to the user)r,   user_pictures_pathr   r   r   r   rO   
  r=   rO   c                   C  r;   )z&:returns: videos path tied to the user)r,   user_videos_pathr   r   r   r   rP     r=   rP   c                   C  r;   )z%:returns: music path tied to the user)r,   user_music_pathr   r   r   r   rQ     r=   rQ   c                   C  r;   )z':returns: desktop path tied to the user)r,   user_desktop_pathr   r   r   r   rR     r=   rR   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
    r5   )r,   user_runtime_pathr5   r   r   r   rS     r.   rS   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
    r5   )r,   site_runtime_pathr5   r   r   r   rT   6  r.   rT   )%r   __version_info__r,   AppDirsr   r-   r2   r6   r9   r:   r<   r>   r?   r@   rA   rB   rC   r1   r3   r8   rD   rE   rG   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rF   rH   rI   rT   )r   r   )NNNFF)r!   r"   r#   r$   r%   r"   r&   r'   r(   r'   r   r)   )r!   r"   r#   r$   r%   r"   r/   r'   r(   r'   r   r)   )NNNTF)r!   r"   r#   r$   r%   r"   r4   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"   r/   r'   r(   r'   r   r   )r!   r"   r#   r$   r%   r"   r4   r'   r(   r'   r   r   )r   r   )6__doc__
__future__r   r   r   typingr   apir   r%   r   r   rU   pathlibr   version_infor   typing_extensionsr    r,   rV   r-   r1   r2   r3   r6   r8   r9   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   __all__r   r   r   r   <module>   s*   













