�
u��g=$ � �~ � d Z ddlmZ ddlZddlmZmZ ddlmZ ddl m
Z
e
rddlmZ ddl m
Z
G d � d
e� � ZdS )z Base API.� )�annotationsN)�ABC�abstractmethod)�Path)�
TYPE_CHECKING)�Iterator)�Literalc � � e Zd ZdZ dDdEd�ZdFd�ZdGd�ZdHd�Zee dId�� � � � Z
ee dId�� � � � Zee dId�� � � � Zee dId�� � � � Z
ee dId�� � � � Zee dId�� � � � Zee dId �� � � � Zee dId!�� � � � Zee dId"�� � � � Zee dId#�� � � � Zee dId$�� � � � Zee dId%�� � � � Zee dId&�� � � � Zee dId'�� � � � Zee dId(�� � � � Zee dId)�� � � � ZedJd*�� � ZedJd+�� � ZedJd,�� � ZedJd-�� � ZedJd.�� � ZedJd/�� � ZedJd0�� � Z edJd1�� � Z!edJd2�� � Z"edJd3�� � Z#edJd4�� � Z$edJd5�� � Z%edJd6�� � Z&edJd7�� � Z'edJd8�� � Z(edJd9�� � Z)dKd;�Z*dKd<�Z+dKd=�Z,dKd>�Z-dLd@�Z.dLdA�Z/dLdB�Z0dLdC�Z1dS )M�PlatformDirsABCz-Abstract base class for platform directories.NFT�appname�
str | None� appauthor�str | Literal[False] | None�version�roaming�bool� multipath�opinion�
ensure_exists�return�Nonec �p � || _ || _ || _ || _ || _ || _ || _ dS )aY
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)r r r r r r r )�selfr r r r r r r s �`/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/platformdirs/api.py�__init__zPlatformDirsABC.__init__ s\ � �, ���"��� � ��� � ��� � #��� � ���*��� � � �base�strc � � t |dd � � � }| j r;|� | j � � | j r|� | j � � t j j |d g|�R � }| � |� � |S )N� r )�listr �appendr �os�path�join�_optionally_create_directory)r r �paramsr$ s r �_append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_versionQ s� � ��d�1�2�2�h�����<� ,��M�M�$�,�'�'�'��|�
,��
�
�d�l�+�+�+��w�|�D��G�-�f�-�-�-���)�)�$�/�/�/��r r$ c �` � | j r&t |� � � dd�� � d S d S )NT)�parents�exist_ok)r r �mkdir�r r$ s r r&