o
    iO                     @  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\d]ddZ					d\d^ddZ					d\d]dd Z					d\d^d!d"Z				#	d_d`d%d&Z				#	d_d`d'd(Z					d\d]d)d*Z				#	d_d`d+d,Zdad-d.Zdad/d0Zdad1d2Zdad3d4Z dad5d6Z!dad7d8Z"				#	d_d`d9d:Z#					d\dbd<d=Z$					d\dcd>d?Z%					d\dbd@dAZ&					d\dcdBdCZ'				#	d_dddDdEZ(				#	d_dddFdGZ)					d\dbdHdIZ*				#	d_dddJdKZ+dedLdMZ,dedNdOZ-dedPdQZ.dedRdSZ/dedTdUZ0dedVdWZ1				#	d_dddXdYZ2g dZZ3dS )fz
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"   P/var/www/edux/Edux_v2/venv/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#   r1   2      r1   	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)   r3   r,   )r0   site_data_dirr4   r"   r"   r#   r5   J   r2   r5   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/   )r0   user_config_dirr/   r"   r"   r#   r6   b   r2   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 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
    r4   )r0   site_config_dirr4   r"   r"   r#   r7   z   r2   r7   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)   r8   r,   )r0   user_cache_dirr9   r"   r"   r#   r:      r2   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 `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: cache directory tied to the user
    r9   )r0   site_cache_dirr9   r"   r"   r#   r<      r2   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/   )r0   user_state_dirr/   r"   r"   r#   r=      r2   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
    r9   )r0   user_log_dirr9   r"   r"   r#   r>      r2   r>   c                   C     t  jS )z.:returns: documents directory tied to the user)r0   user_documents_dirr"   r"   r"   r#   r@         r@   c                   C  r?   )z.:returns: downloads directory tied to the user)r0   user_downloads_dirr"   r"   r"   r#   rB      rA   rB   c                   C  r?   )z-:returns: pictures directory tied to the user)r0   user_pictures_dirr"   r"   r"   r#   rC      rA   rC   c                   C  r?   )z+:returns: videos directory tied to the user)r0   user_videos_dirr"   r"   r"   r#   rD     rA   rD   c                   C  r?   )z*:returns: music directory tied to the user)r0   user_music_dirr"   r"   r"   r#   rE     rA   rE   c                   C  r?   )z,:returns: desktop directory tied to the user)r0   user_desktop_dirr"   r"   r"   r#   rF     rA   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 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
    r9   )r0   user_runtime_dirr9   r"   r"   r#   rG     r2   rG   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/   )r0   user_data_pathr/   r"   r"   r#   rH   (  r2   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 multipath: See `multipath <platformdirs.api.PlatformDirsABC.multipath>`.
    :param ensure_exists: See `ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
    :returns: data path shared by users
    r4   )r0   site_data_pathr4   r"   r"   r#   rI   @  r2   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 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/   )r0   user_config_pathr/   r"   r"   r#   rJ   X  r2   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 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
    r4   )r0   site_config_pathr4   r"   r"   r#   rK   p  r2   rK   c                 C  r.   r;   )r0   site_cache_pathr9   r"   r"   r#   rL     r2   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 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
    r9   )r0   user_cache_pathr9   r"   r"   r#   rM     r2   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 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/   )r0   user_state_pathr/   r"   r"   r#   rN     r2   rN   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
    r9   )r0   user_log_pathr9   r"   r"   r#   rO     r2   rO   c                   C  r?   )z):returns: documents path tied to the user)r0   user_documents_pathr"   r"   r"   r#   rP     rA   rP   c                   C  r?   )z):returns: downloads path tied to the user)r0   user_downloads_pathr"   r"   r"   r#   rQ     rA   rQ   c                   C  r?   )z(:returns: pictures path tied to the user)r0   user_pictures_pathr"   r"   r"   r#   rR     rA   rR   c                   C  r?   )z&:returns: videos path tied to the user)r0   user_videos_pathr"   r"   r"   r#   rS     rA   rS   c                   C  r?   )z%:returns: music path tied to the user)r0   user_music_pathr"   r"   r"   r#   rT     rA   rT   c                   C  r?   )z':returns: desktop path tied to the user)r0   user_desktop_pathr"   r"   r"   r#   rU     rA   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 tied to the user
    r9   )r0   user_runtime_pathr9   r"   r"   r#   rV     r2   rV   )#r   __version_info__r0   AppDirsr   r1   r6   r:   r=   r>   r@   rB   rC   rD   rE   rF   rG   r5   r7   r<   rH   rJ   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rI   rK   rL   )r   r   )NNNFF)r%   r&   r'   r(   r)   r&   r*   r+   r,   r+   r   r-   )r%   r&   r'   r(   r)   r&   r3   r+   r,   r+   r   r-   )NNNTF)r%   r&   r'   r(   r)   r&   r8   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&   r3   r+   r,   r+   r   r   )r%   r&   r'   r(   r)   r&   r8   r+   r,   r+   r   r   )r   r   )4__doc__
__future__r   r   r   typingr   apir   r)   r   r   rW   pathlibr   version_infor   typing_extensionsr$   r0   rX   r1   r5   r6   r7   r:   r<   r=   r>   r@   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   













