File: //usr/local/lib/python3.7/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-37.pyc
B
L��ge% � @ s� d Z ddlmZ ddlZddlZddlZddlmZ ddlm Z ddl
mZ e r\ddlm
Z
G d d
� d
e�Zddd�d
d�Zddd�dd�Zddd�dd�Zddd�dd�Zdd�dd�Zedd�e� �Zd
gZdS )zWindows.� )�annotationsN)� lru_cache)�
TYPE_CHECKING� )�PlatformDirsABC)�Callablec @ s$ e Zd ZdZedd�dd��Zdd�dddd �d
d�Zedd�dd
��Zedd�dd��Zedd�dd��Z edd�dd��Z
edd�dd��Zedd�dd��Zedd�dd��Z
edd�dd��Zedd�dd��Zedd�dd��Zedd�d d!��Zedd�d"d#��Zedd�d$d%��ZdS )&�Windowsa
`MSDN on where to store app data files
<http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120>`_.
Makes use of the
`appname <platformdirs.api.PlatformDirsABC.appname>`,
`appauthor <platformdirs.api.PlatformDirsABC.appauthor>`,
`version <platformdirs.api.PlatformDirsABC.version>`,
`roaming <platformdirs.api.PlatformDirsABC.roaming>`,
`opinion <platformdirs.api.PlatformDirsABC.opinion>`,
`ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
�str)�returnc C s( | j r
dnd}tj�t|��}| �|�S )z�
:return: data directory tied to the user, e.g.
``%USERPROFILE%\AppData\Local\$appauthor\$appname`` (not roaming) or
``%USERPROFILE%\AppData\Roaming\$appauthor\$appname`` (roaming)
�
CSIDL_APPDATA�CSIDL_LOCAL_APPDATA)�roaming�os�path�normpath�get_win_folder�
_append_parts)�self�constr � r �D/tmp/pip-unpacked-wheel-hv55ucu3/pip/_vendor/platformdirs/windows.py�
user_data_dir s zWindows.user_data_dirN)�
opinion_valuez
str | None)r r r
c C s� g }| j r`| jdk r*| jp| j }|�|� |�| j � |d k rN| jrN|�|� | jr`|�| j� tjj|f|�� }| �|� |S )NF) �appname� appauthor�append�opinion�versionr r �join�_optionally_create_directory)r r r �params�authorr r r r ( s
zWindows._append_partsc C s t j�td��}| �|�S )zT:return: data directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname``�CSIDL_COMMON_APPDATA)r r r r r )r r r r r �
site_data_dir7 s zWindows.site_data_dirc C s | j S )zC:return: config directory tied to the user, same as `user_data_dir`)r )r r r r �user_config_dir= s zWindows.user_config_dirc C s | j S )zF:return: config directory shared by the users, same as `site_data_dir`)r# )r r r r �site_config_dirB s zWindows.site_config_dirc C s t j�td��}| j|dd�S )z�
:return: cache directory tied to the user (if opinionated with ``Cache`` folder within ``$appname``) e.g.
``%USERPROFILE%\AppData\Local\$appauthor\$appname\Cache\$version``
r �Cache)r )r r r r r )r r r r r �user_cache_dirG s zWindows.user_cache_dirc C s t j�td��}| j|dd�S )zd:return: cache directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname\Cache\$version``r"