File: //opt/saltstack/salt/lib/python3.10/site-packages/platformdirs/__pycache__/windows.cpython-310.pyc
o
;jz( � @ s� d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl m
Z
er*ddlmZ G d d
� d
e
�Z
ddd�Zddd�Zddd�Zddd�Zddd�Zedd�e� �Zd
gZdS )zWindows.� )�annotationsN)� lru_cache)�
TYPE_CHECKING� )�PlatformDirsABC)�Callablec @ s e Zd ZdZed+dd��Zdd�d,dd�Zed+d
d��Zed+dd��Zed+dd��Z ed+dd��Z
ed+dd��Zed+dd��Zed+dd��Z
ed+dd��Zed+dd��Zed+dd ��Zed+d!d"��Zed+d#d$��Zed+d%d&��Zed+d'd(��Zed+d)d*��ZdS )-�Windowsa�
`MSDN on where to store app data files <https://learn.microsoft.com/en-us/windows/win32/shell/knownfolderid>`_.
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>`.
�return�strc C s( | j rdnd}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)Zroaming�os�path�normpath�get_win_folder�
_append_parts)�self�constr � r �H/opt/saltstack/salt/lib/python3.10/site-packages/platformdirs/windows.py�
user_data_dir s
zWindows.user_data_dirN��
opinion_valuer r �
str | Nonec C s� g }| j r0| jdur| jp| j }|�|� |�| j � |d ur'| jr'|�|� | jr0|�| j� tjj|g|�R � }| �|� |S )NF) ZappnameZ appauthor�append�opinion�versionr
r �join�_optionally_create_directory)r r r �paramsZauthorr r r r &