Current File : //lib/python3.9/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-39.pyc
a

[��f:�@sfddlZddlZddlmZmZddlmZddlmZm	Z	ej
dkrRddlmZGdd�de�ZdS)	�N)�ABC�abstractmethod)�Path)�Optional�Union)��)�Literalc@s�eZdZdZd1eeeeddfeeeeed�dd�Zeed	�d
d�Z	e
eed�d
d���Ze
eed�dd���Z
e
eed�dd���Ze
eed�dd���Ze
eed�dd���Ze
eed�dd���Ze
eed�dd���Ze
eed�dd���Ze
eed�dd���Ze
ed�dd ��Ze
ed�d!d"��Ze
ed�d#d$��Ze
ed�d%d&��Ze
ed�d'd(��Ze
ed�d)d*��Ze
ed�d+d,��Ze
ed�d-d.��Ze
ed�d/d0��ZdS)2�PlatformDirsABCz7
    Abstract base class for platform directories.
    NFTzLiteral[False]��appname�	appauthor�version�roaming�	multipath�opinioncCs(||_||_||_||_||_||_dS)a%
        Create a new platform directory.

        :param appname: See `appname`.
        :param appauthor: See `appauthor`.
        :param version: See `version`.
        :param roaming: See `roaming`.
        :param multipath: See `multipath`.
        :param opinion: See `opinion`.
        Nr)�selfrr
rrrr�r�@/usr/lib/python3.9/site-packages/pip/_vendor/platformdirs/api.py�__init__szPlatformDirsABC.__init__)�base�returncGsLt|dd��}|jr4|�|j�|jr4|�|j�tjj|dg|�R�S)N�r)�listr�appendr�os�path�join)rr�paramsrrr�_append_app_name_and_version;sz,PlatformDirsABC._append_app_name_and_version)rcCsdS)z(:return: data directory tied to the userNr�rrrr�
user_data_dirCszPlatformDirsABC.user_data_dircCsdS)z':return: data directory shared by usersNrr rrr�
site_data_dirHszPlatformDirsABC.site_data_dircCsdS)z*:return: config directory tied to the userNrr rrr�user_config_dirMszPlatformDirsABC.user_config_dircCsdS)z-:return: config directory shared by the usersNrr rrr�site_config_dirRszPlatformDirsABC.site_config_dircCsdS)z):return: cache directory tied to the userNrr rrr�user_cache_dirWszPlatformDirsABC.user_cache_dircCsdS)z):return: state directory tied to the userNrr rrr�user_state_dir\szPlatformDirsABC.user_state_dircCsdS)z':return: log directory tied to the userNrr rrr�user_log_diraszPlatformDirsABC.user_log_dircCsdS)z-:return: documents directory tied to the userNrr rrr�user_documents_dirfsz"PlatformDirsABC.user_documents_dircCsdS)z+:return: runtime directory tied to the userNrr rrr�user_runtime_dirksz PlatformDirsABC.user_runtime_dircCs
t|j�S)z#:return: data path tied to the user)rr!r rrr�user_data_pathpszPlatformDirsABC.user_data_pathcCs
t|j�S)z":return: data path shared by users)rr"r rrr�site_data_pathuszPlatformDirsABC.site_data_pathcCs
t|j�S)z%:return: config path tied to the user)rr#r rrr�user_config_pathzsz PlatformDirsABC.user_config_pathcCs
t|j�S)z(:return: config path shared by the users)rr$r rrr�site_config_pathsz PlatformDirsABC.site_config_pathcCs
t|j�S)z$:return: cache path tied to the user)rr%r rrr�user_cache_path�szPlatformDirsABC.user_cache_pathcCs
t|j�S)z$:return: state path tied to the user)rr&r rrr�user_state_path�szPlatformDirsABC.user_state_pathcCs
t|j�S)z":return: log path tied to the user)rr'r rrr�
user_log_path�szPlatformDirsABC.user_log_pathcCs
t|j�S)z(:return: documents path tied to the user)rr(r rrr�user_documents_path�sz#PlatformDirsABC.user_documents_pathcCs
t|j�S)z&:return: runtime path tied to the user)rr)r rrr�user_runtime_path�sz!PlatformDirsABC.user_runtime_path)NNNFFT)�__name__�
__module__�__qualname__�__doc__r�strr�boolrr�propertyrr!r"r#r$r%r&r'r(r)rr*r+r,r-r.r/r0r1r2rrrrr
sz��+r
)
r�sys�abcrr�pathlibr�typingrr�version_infor	r
rrrr�<module>s