o
    ÍtBhø  ã                   @   sf   d dl Z d dlZd dlmZmZ d dlmZ d dlmZm	Z	 ej
dkr)d dlmZ G dd„ deƒZdS )	é    N)ÚABCÚabstractmethod)ÚPath)ÚOptionalÚUnion)é   é   )ÚLiteralc                   @   s|  e Zd ZdZ						d.dee deeddf dee d	ed
edefdd„Zdedefdd„Z	e
edefdd„ƒƒZe
edefdd„ƒƒZe
edefdd„ƒƒZe
edefdd„ƒƒZe
edefdd„ƒƒZe
edefdd„ƒƒZe
edefdd„ƒƒZe
defd d!„ƒZe
defd"d#„ƒZe
defd$d%„ƒZe
defd&d'„ƒZe
defd(d)„ƒZe
defd*d+„ƒZe
defd,d-„ƒZdS )/ÚPlatformDirsABCz7
    Abstract base class for platform directories.
    NFTÚappnameÚ	appauthorzLiteral[False]ÚversionÚroamingÚ	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   úg/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/platformdirs/api.pyÚ__init__   s   
zPlatformDirsABC.__init__ÚbaseÚ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_dirC   ó    zPlatformDirsABC.user_data_dirc                 C   r   )z':return: data directory shared by usersNr   r    r   r   r   Úsite_data_dirH   r"   zPlatformDirsABC.site_data_dirc                 C   r   )z*:return: config directory tied to the userNr   r    r   r   r   Úuser_config_dirM   r"   zPlatformDirsABC.user_config_dirc                 C   r   )z-:return: config directory shared by the usersNr   r    r   r   r   Úsite_config_dirR   r"   zPlatformDirsABC.site_config_dirc                 C   r   )z):return: cache directory tied to the userNr   r    r   r   r   Úuser_cache_dirW   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_dira   r"   zPlatformDirsABC.user_log_dirc                 C   ó
   t | jƒS )z#:return: data path tied to the user)r   r!   r    r   r   r   Úuser_data_pathf   ó   
zPlatformDirsABC.user_data_pathc                 C   r)   )z":return: data path shared by users)r   r#   r    r   r   r   Úsite_data_pathk   r+   zPlatformDirsABC.site_data_pathc                 C   r)   )z%:return: config path tied to the user)r   r$   r    r   r   r   Úuser_config_pathp   r+   z PlatformDirsABC.user_config_pathc                 C   r)   )z(:return: config path shared by the users)r   r%   r    r   r   r   Úsite_config_pathu   r+   z PlatformDirsABC.site_config_pathc                 C   r)   )z$:return: cache path tied to the user)r   r&   r    r   r   r   Úuser_cache_pathz   r+   zPlatformDirsABC.user_cache_pathc                 C   r)   )z$:return: state path tied to the user)r   r'   r    r   r   r   Úuser_state_path   r+   zPlatformDirsABC.user_state_pathc                 C   r)   )z":return: log path tied to the user)r   r(   r    r   r   r   Úuser_log_path„   r+   zPlatformDirsABC.user_log_path)NNNFFT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   Úboolr   r   Úpropertyr   r!   r#   r$   r%   r&   r'   r(   r   r*   r,   r-   r.   r/   r0   r1   r   r   r   r   r
      sr    ùþýüûú
ù+r
   )r   ÚsysÚabcr   r   Úpathlibr   Útypingr   r   Úversion_infor	   r
   r   r   r   r   Ú<module>   s    
