U
ʗRe' @ s d dl mZ d dlZd dlZd dlmZ d dlmZ ddlm Z G dd de Z
d d d
ddZd d d
d
dZd d d
ddZ
ddddZedde ZdgZdS ) )annotationsN) lru_cache)Callable )PlatformDirsABCc @ s e Zd ZdZeddddZdddddd d
dZedddd
ZeddddZeddddZ eddddZ
eddddZeddddZeddddZ
eddddZdS )Windowsa `MSDN on where to store app data files
`_.
Makes use of the
`appname `,
`appauthor `,
`version `,
`roaming `,
`opinion `.strreturnc C s( | j r
dnd}tjt|}| |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_APPDATACSIDL_LOCAL_APPDATA)roamingospathnormpathget_win_folder
_append_parts)selfconstr r /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/platformdirs/windows.py
user_data_dir s zWindows.user_data_dirN
opinion_valuez
str | None)r r r
c C sr g }| j r`| jdk r*| jp| j }|| || j |d k rN| jrN|| | jr`|| j tjj|f| S )NF)appname appauthorappendopinionversionr r join)r r r paramsauthorr r r r s
zWindows._append_partsc C s t jtd}| |S )zT:return: data directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname``CSIDL_COMMON_APPDATAr r r r r r r r r r
site_data_dir- 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_dir3 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_dir8 s zWindows.site_config_dirc C s t jtd}| j|ddS )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 Cacher r# r$ r r r user_cache_dir= s zWindows.user_cache_dirc C s | j S )zB:return: state directory tied to the user, same as `user_data_dir`r&