o
ai @ s d dl Z d dlZd dlmZ d dlmZmZ ddlmZ G dd deZ de
d e
fd
dZde
d e
fdd
Zde
d e
fddZ
d ee
ge
f fddZedde ZdgZdS ) N) lru_cache)CallableOptional )PlatformDirsABCc @ s e Zd ZdZedefddZdddedee defd d
ZedefddZ edefd
dZ
edefddZedefddZedefddZ
edefddZedefddZedefddZdS )Windowsa `MSDN on where to store app data files
`_.
Makes use of the
`appname `,
`appauthor `,
`version `,
`roaming `,
`opinion `.returnc C s( | j rdnd}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-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/platformdirs/windows.py
user_data_dir s
zWindows.user_data_dirN
opinion_valuer
r c C st g }| j r0| jdur| jp| j }|| || j |d ur'| jr'|| | jr0|| j tjj|g|R 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 | j S )zC:return: config directory tied to the user, same as `user_data_dir`r r r r r user_config_dir1 zWindows.user_config_dirc C r$ )zF:return: config directory shared by the users, same as `site_data_dir`)r# r&