a ˆlj: ã @ sf d dl Z d dlZd dlmZmZ d dlmZ d dlmZm Z ej dkrRd dlmZ G dd„ deƒZdS ) é N)ÚABCÚabstractmethod)ÚPath)ÚOptionalÚUnion)é é )ÚLiteralc @ s´ e Zd ZdZd1ee eeddf ee eeedœdd„Zeed œd d„Z e eedœd d„ƒƒZe 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Úopinionc C s( || _ || _|| _|| _|| _|| _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 r r r r © r ú@/usr/lib/python3.9/site-packages/pip/_vendor/platformdirs/api.pyÚ__init__ s zPlatformDirsABC.__init__)ÚbaseÚreturnc G sL t |dd … ƒ}| jr4| | j¡ | jr4| | j¡ tjj|d g|¢R Ž S )Né r )Úlistr Úappendr ÚosÚpathÚjoin)r r Úparamsr r r Ú_append_app_name_and_version; s z,PlatformDirsABC._append_app_name_and_version)r c C s dS )z(:return: data directory tied to the userNr ©r r r r Ú user_data_dirC s zPlatformDirsABC.user_data_dirc C s dS )z':return: data directory shared by usersNr r r r r Ú site_data_dirH s zPlatformDirsABC.site_data_dirc C s dS )z*:return: config directory tied to the userNr r r r r Úuser_config_dirM s zPlatformDirsABC.user_config_dirc C s dS )z-:return: config directory shared by the usersNr r r r r Úsite_config_dirR s zPlatformDirsABC.site_config_dirc C s dS )z):return: cache directory tied to the userNr r r r r Úuser_cache_dirW s zPlatformDirsABC.user_cache_dirc C s dS )z):return: state directory tied to the userNr r r r r Úuser_state_dir\ s zPlatformDirsABC.user_state_dirc C s dS )z':return: log directory tied to the userNr r r r r Úuser_log_dira s zPlatformDirsABC.user_log_dirc C s dS )z-:return: documents directory tied to the userNr r r r r Úuser_documents_dirf s z"PlatformDirsABC.user_documents_dirc C s dS )z+:return: runtime directory tied to the userNr r r r r Úuser_runtime_dirk s z PlatformDirsABC.user_runtime_dirc C s t | jƒS )z#:return: data path tied to the user)r r! r r r r Úuser_data_pathp s zPlatformDirsABC.user_data_pathc C s t | jƒS )z":return: data path shared by users)r r" r r r r Úsite_data_pathu s zPlatformDirsABC.site_data_pathc C s t | jƒS )z%:return: config path tied to the user)r r# r r r r Úuser_config_pathz s z PlatformDirsABC.user_config_pathc C s t | jƒS )z(:return: config path shared by the users)r r$ r r r r Úsite_config_path s z PlatformDirsABC.site_config_pathc C s t | jƒS )z$:return: cache path tied to the user)r r% r r r r Úuser_cache_path„ s zPlatformDirsABC.user_cache_pathc C s t | jƒS )z$:return: state path tied to the user)r r&