B
    ¸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rNd dl
mZ G dd„ deƒZdS )	é    )ÚannotationsN)ÚABCÚabstractmethod)ÚPath)é   é   )ÚLiteralc               @  s¢  e Zd ZdZd5dddddddœd	d
„Zdddœdd„Zeeddœdd„ƒƒZeeddœdd„ƒƒZ	eeddœdd„ƒƒZ
eeddœdd„ƒƒZeeddœdd„ƒƒZeeddœdd„ƒƒZeeddœdd„ƒƒZeeddœdd„ƒƒZeeddœd d!„ƒƒZed"dœd#d$„ƒZed"dœd%d&„ƒZed"dœd'd(„ƒZed"dœd)d*„ƒZed"dœd+d,„ƒZed"dœd-d.„ƒZed"dœd/d0„ƒZed"dœd1d2„ƒZed"dœd3d4„ƒZdS )6ÚPlatformDirsABCz7
    Abstract base class for platform directories.
    NFTz
str | Nonezstr | None | Literal[False]Úbool)ÚappnameÚ	appauthorÚversionÚroamingÚ	multipathÚopinionc             C  s(   || _ || _|| _|| _|| _|| _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   úcC:\Users\sanjo\AppData\Local\Qlobot\Launcher\ext_packages\pkg_resources\_vendor\platformdirs\api.pyÚ__init__   s    zPlatformDirsABC.__init__Ústr)ÚbaseÚreturnc             G  sJ   t |dd … ƒ}| jr4| | j¡ | jr4| | j¡ tjj|d f|žŽ 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   dS )z(:return: data directory tied to the userNr   )r   r   r   r   Úuser_data_dirD   s    zPlatformDirsABC.user_data_dirc             C  s   dS )z':return: data directory shared by usersNr   )r   r   r   r   Úsite_data_dirI   s    zPlatformDirsABC.site_data_dirc             C  s   dS )z*:return: config directory tied to the userNr   )r   r   r   r   Úuser_config_dirN   s    zPlatformDirsABC.user_config_dirc             C  s   dS )z-:return: config directory shared by the usersNr   )r   r   r   r   Úsite_config_dirS   s    zPlatformDirsABC.site_config_dirc             C  s   dS )z):return: cache directory tied to the userNr   )r   r   r   r   Úuser_cache_dirX   s    zPlatformDirsABC.user_cache_dirc             C  s   dS )z):return: state directory tied to the userNr   )r   r   r   r   Úuser_state_dir]   s    zPlatformDirsABC.user_state_dirc             C  s   dS )z':return: log directory tied to the userNr   )r   r   r   r   Úuser_log_dirb   s    zPlatformDirsABC.user_log_dirc             C  s   dS )z-:return: documents directory tied to the userNr   )r   r   r   r   Úuser_documents_dirg   s    z"PlatformDirsABC.user_documents_dirc             C  s   dS )z+:return: runtime directory tied to the userNr   )r   r   r   r   Úuser_runtime_dirl   s    z PlatformDirsABC.user_runtime_dirr   c             C  s
   t | jƒS )z#:return: data path tied to the user)r   r    )r   r   r   r   Úuser_data_pathq   s    zPlatformDirsABC.user_data_pathc             C  s
   t | jƒS )z":return: data path shared by users)r   r!   )r   r   r   r   Úsite_data_pathv   s    zPlatformDirsABC.site_data_pathc             C  s
   t | jƒS )z%:return: config path tied to the user)r   r"   )r   r   r   r   Úuser_config_path{   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    zPlatformDirsABC.user_cache_pathc             C  s
   t | jƒS )z$:return: state path tied to the user)r   r%   )r   r   r   r   Úuser_state_pathŠ   s    zPlatformDirsABC.user_state_pathc             C  s
   t | jƒS )z":return: log path tied to the user)r   r&   )r   r   r   r   Úuser_log_path   s    zPlatformDirsABC.user_log_pathc             C  s
   t | jƒS )z(:return: documents path tied to the user)r   r'   )r   r   r   r   Úuser_documents_path”   s    z#PlatformDirsABC.user_documents_pathc             C  s
   t | jƒS )z&:return: runtime path tied to the user)r   r(   )r   r   r   r   Úuser_runtime_path™   s    z!PlatformDirsABC.user_runtime_path)NNNFFT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úpropertyr   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r   r   r   r   r	      sF        $r	   )Ú
__future__r   r   ÚsysÚabcr   r   Úpathlibr   Úversion_infoÚtypingr   r	   r   r   r   r   Ú<module>   s   
