Current File : /home/inlingua/miniconda3/lib/python3.1/site-packages/platformdirs/__pycache__/api.cpython-312.pyc |
�
ane � � � d Z ddlmZ ddlZddlmZmZ ddlmZ ddl m
Z
e
r ddlZej dk\ rddl m
Z
nddlm
Z
G d � d
e� Zy)z Base API.� )�annotationsN)�ABC�abstractmethod)�Path)�
TYPE_CHECKING)� � )�Literalc �6 � e Zd ZdZ d& d'd�Zd(d�Zd)d�Zeed*d�� � Z eed*d�� � Z
eed*d�� � Zeed*d �� � Zeed*d
�� � Z
eed*d�� � Zeed*d�� � Zeed*d
�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zeed*d�� � Zed+d�� Zed+d�� Zed+d�� Zed+d�� Zed+d�� Zed+d�� Zed+d�� Zed+d�� Z ed+d�� Z!ed+d�� Z"ed+d �� Z#ed+d!�� Z$ed+d"�� Z%ed+d#�� Z&ed+d$�� Z'ed+d%�� Z(y),�PlatformDirsABCz-Abstract base class for platform directories.Nc �n � || _ || _ || _ || _ || _ || _ || _ y)aX
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`.
:param ensure_exists: See `ensure_exists`.
N)�appname� appauthor�version�roaming� multipath�opinion�
ensure_exists)�selfr r r r r r r s �0lib/python3.12/site-packages/platformdirs/api.py�__init__zPlatformDirsABC.__init__ sW � �* ���"��� � ��� � ��� �
#��� � ���*��� � c �& � t |dd � }| j rB|j | j � | j r|j | j � t j
j |d g|��� }| j |� |S )N� r )�listr �appendr �os�path�join�_optionally_create_directory)r �base�paramsr s r �_append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_versionG sm � ��d�1�2�h����<�<��M�M�$�,�,�'��|�|��
�
�d�l�l�+��w�w�|�|�D��G�-�f�-���)�)�$�/��r c �V � | j rt |� j dd�� y y )NT)�parents�exist_ok)r r �mkdir)r r s r r z,PlatformDirsABC._optionally_create_directoryQ s'