o
    a+)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   [C:\Users\User\Downloads\Proyecto_IoT\venv\Lib\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    
