o
    ³™£h.  ã                   @  sb   d dl mZ d dlZd dlZd dlmZmZ d dlmZ ej	dkr'd dl
mZ G dd„ deƒZdS )	é    )ÚannotationsN)ÚABCÚabstractmethod)ÚPath)é   é   )ÚLiteralc                   @  sR  e Zd ZdZ						d:d;dd„Zd<dd„Zeed=dd„ƒƒZeed=dd„ƒƒZ	eed=dd„ƒƒZ
eed=dd„ƒƒZeed=dd„ƒƒZeed=dd „ƒƒZeed=d!d"„ƒƒZeed=d#d$„ƒƒZeed=d%d&„ƒƒZed>d(d)„ƒZed>d*d+„ƒZed>d,d-„ƒZed>d.d/„ƒZed>d0d1„ƒZed>d2d3„ƒZed>d4d5„ƒZed>d6d7„ƒZed>d8d9„ƒZdS )?ÚPlatformDirsABCz7
    Abstract base class for platform directories.
    NFTÚappnameú
str | NoneÚ	appauthorústr | None | Literal[False]ÚversionÚroamingÚboolÚ	multipathÚopinionc                 C  s0   || _ || _	 || _	 || _	 || _	 || _dS )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`.
        N)r
   r   r   r   r   r   )Úselfr
   r   r   r   r   r   © r   ús/Users/merlin/projects/employee-monitoring-system/venv/lib/python3.10/site-packages/pip/_vendor/platformdirs/api.pyÚ__init__   s   
zPlatformDirsABC.__init__ÚbaseÚstrÚreturnc                 G  sL   t |dd … ƒ}| jr| | j¡ | jr| | j¡ tjj|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_versionc                 C  ó   dS )z(:return: data directory tied to the userNr   ©r   r   r   r   Úuser_data_dirD   ó    zPlatformDirsABC.user_data_dirc                 C  r"   )z':return: data directory shared by usersNr   r#   r   r   r   Úsite_data_dirI   r%   zPlatformDirsABC.site_data_dirc                 C  r"   )z*:return: config directory tied to the userNr   r#   r   r   r   Úuser_config_dirN   r%   zPlatformDirsABC.user_config_dirc                 C  r"   )z-:return: config directory shared by the usersNr   r#   r   r   r   Úsite_config_dirS   r%   zPlatformDirsABC.site_config_dirc                 C  r"   )z):return: cache directory tied to the userNr   r#   r   r   r   Úuser_cache_dirX   r%   zPlatformDirsABC.user_cache_dirc                 C  r"   )z):return: state directory tied to the userNr   r#   r   r   r   Úuser_state_dir]   r%   zPlatformDirsABC.user_state_dirc                 C  r"   )z':return: log directory tied to the userNr   r#   r   r   r   Úuser_log_dirb   r%   zPlatformDirsABC.user_log_dirc                 C  r"   )z-:return: documents directory tied to the userNr   r#   r   r   r   Úuser_documents_dirg   r%   z"PlatformDirsABC.user_documents_dirc                 C  r"   )z+:return: runtime directory tied to the userNr   r#   r   r   r   Úuser_runtime_dirl   r%   z PlatformDirsABC.user_runtime_dirr   c                 C  ó
   t | jƒS )z#:return: data path tied to the user)r   r$   r#   r   r   r   Úuser_data_pathq   ó   
zPlatformDirsABC.user_data_pathc                 C  r.   )z":return: data path shared by users)r   r&   r#   r   r   r   Úsite_data_pathv   r0   zPlatformDirsABC.site_data_pathc                 C  r.   )z%:return: config path tied to the user)r   r'   r#   r   r   r   Úuser_config_path{   r0   z PlatformDirsABC.user_config_pathc                 C  r.   )z(:return: config path shared by the users)r   r(   r#   r   r   r   Úsite_config_path€   r0   z PlatformDirsABC.site_config_pathc                 C  r.   )z$:return: cache path tied to the user)r   r)   r#   r   r   r   Úuser_cache_path…   r0   zPlatformDirsABC.user_cache_pathc                 C  r.   )z$:return: state path tied to the user)r   r*   r#   r   r   r   Úuser_state_pathŠ   r0   zPlatformDirsABC.user_state_pathc                 C  r.   )z":return: log path tied to the user)r   r+   r#   r   r   r   Úuser_log_path   r0   zPlatformDirsABC.user_log_pathc                 C  r.   )z(:return: documents path tied to the user)r   r,   r#   r   r   r   Úuser_documents_path”   r0   z#PlatformDirsABC.user_documents_pathc                 C  r.   )z&:return: runtime path tied to the user)r   r-   r#   r   r   r   Úuser_runtime_path™   r0   z!PlatformDirsABC.user_runtime_path)NNNFFT)r
   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r!   Úpropertyr   r$   r&   r'   r(   r)   r*   r+   r,   r-   r/   r1   r2   r3   r4   r5   r6   r7   r8   r   r   r   r   r	      sn    ù
+r	   )Ú
__future__r   r   ÚsysÚabcr   r   Úpathlibr   Úversion_infoÚtypingr   r	   r   r   r   r   Ú<module>   s    
