Current File : //usr/lib/python3/dist-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc |
�
/�g� � � � 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 �� � 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�� � Zed'd�� Zed'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$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 �>/usr/lib/python3/dist-packages/pip/_vendor/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'