File: //usr/local/lib/python3.10/dist-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-310.pyc
o
��h
� @ sb d Z ddlmZ ddlZddlZddlmZ ddlm Z er$ddl
mZ G dd � d e �Zd gZ
dS )
zmacOS.� )�annotationsN)�
TYPE_CHECKING� )�PlatformDirsABC)�Pathc @ s e Zd ZdZed*dd��Zed*dd��Zed+d d
��Zed*dd��Zed*d
d��Z ed*dd��Z
ed*dd��Zed+dd��Zed*dd��Z
ed*dd��Zed*dd��Zed*dd��Zed*dd��Zed*dd ��Zed*d!d"��Zed*d#d$��Zed*d%d&��Zed*d'd(��Zd)S ),�MacOSa�
Platform directories for the macOS operating system.
Follows the guidance from
`Apple documentation <https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/MacOSXDirectories/MacOSXDirectories.html>`_.
Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`,
`version <platformdirs.api.PlatformDirsABC.version>`,
`ensure_exists <platformdirs.api.PlatformDirsABC.ensure_exists>`.
�return�strc C � | � tj�d��S )zb:return: data directory tied to the user, e.g. ``~/Library/Application Support/$appname/$version``z~/Library/Application Support��_append_app_name_and_version�os�path�
expanduser��self� r �I/usr/local/lib/python3.10/dist-packages/pip/_vendor/platformdirs/macos.py�
user_data_dir � zMacOS.user_data_dirc C �J t j�d�}|r| �d�gng }|�| �d�� | jr!tj�|�S |d S )aB
:return: data directory shared by users, e.g. ``/Library/Application Support/$appname/$version``.
If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
will be under the Homebrew prefix, e.g. ``/opt/homebrew/share/$appname/$version``.
If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
the response is a multi-path string separated by ":", e.g.
``/opt/homebrew/share/$appname/$version:/Library/Application Support/$appname/$version``
�
/opt/homebrewz/opt/homebrew/sharez/Library/Application Supportr � �sys�prefix�
startswithr �append� multipathr
�pathsep�join�r �is_homebrew� path_listr r r �
site_data_dir �
zMacOS.site_data_dirr c C � | � | j�S )zh:return: data path shared by users. Only return the first item, even if ``multipath`` is set to ``True``)� _first_item_as_path_if_multipathr# r r r r �site_data_path1 � zMacOS.site_data_pathc C � | j S )zC:return: config directory tied to the user, same as `user_data_dir`�r r r r r �user_config_dir6 � zMacOS.user_config_dirc C r) )zF:return: config directory shared by the users, same as `site_data_dir`)r# r r r r �site_config_dir; r, zMacOS.site_config_dirc C r
)zV:return: cache directory tied to the user, e.g. ``~/Library/Caches/$appname/$version``z~/Library/Cachesr r r r r �user_cache_dir@ r zMacOS.user_cache_dirc C r )a1
:return: cache directory shared by users, e.g. ``/Library/Caches/$appname/$version``.
If we're using a Python binary managed by `Homebrew <https://brew.sh>`_, the directory
will be under the Homebrew prefix, e.g. ``/opt/homebrew/var/cache/$appname/$version``.
If `multipath <platformdirs.api.PlatformDirsABC.multipath>` is enabled, and we're in Homebrew,
the response is a multi-path string separated by ":", e.g.
``/opt/homebrew/var/cache/$appname/$version:/Library/Caches/$appname/$version``
r z/opt/homebrew/var/cachez/Library/Cachesr r r r r r �site_cache_dirE r$ zMacOS.site_cache_dirc C r% )zi:return: cache path shared by users. Only return the first item, even if ``multipath`` is set to ``True``)r&