
    `~h$                    v    d Z ddlmZ ddlZddlmZmZ ddlmZ ddl	m
Z
 e
rddl	mZmZ  G d d	e          ZdS )
z	Base API.    )annotationsN)ABCabstractmethod)Path)TYPE_CHECKING)IteratorLiteralc                     e Zd ZdZ	 	 	 	 	 	 	 dDdEdZdFdZdGdZdHdZee	dId                        Z
ee	dId                        Zee	dId                        Zee	dId                        Zee	dId                        Zee	dId                        Zee	dId                         Zee	dId!                        Zee	dId"                        Zee	dId#                        Zee	dId$                        Zee	dId%                        Zee	dId&                        Zee	dId'                        Zee	dId(                        Zee	dId)                        ZedJd*            ZedJd+            ZedJd,            ZedJd-            ZedJd.            ZedJd/            ZedJd0            Z edJd1            Z!edJd2            Z"edJd3            Z#edJd4            Z$edJd5            Z%edJd6            Z&edJd7            Z'edJd8            Z(edJd9            Z)dKd;Z*dKd<Z+dKd=Z,dKd>Z-dLd@Z.dLdAZ/dLdBZ0dLdCZ1dS )MPlatformDirsABCz-Abstract base class for platform directories.NFTappname
str | None	appauthorstr | None | Literal[False]versionroamingbool	multipathopinionensure_existsreturnNonec                p    || _         || _        	 || _        	 || _        	 || _        	 || _        || _        dS )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           ^/var/www/html/prod/cognitive/venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py__init__zPlatformDirsABC.__init__   s\    , "	 	 	 #	 *	 	    basestrc                   t          |dd                    }| 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_versionP   s    d122h< 	,MM$,'''| ,dl+++w|DG-f---))$///r   r$   c                `    | j         r&t          |                              dd           d S d S )NT)parentsexist_ok)r   r   mkdirr   r$   s     r   r&   z,PlatformDirsABC._optionally_create_directoryZ   s<     	:JJTD99999	: 	:r   	directoryr   c                x    | j         r%|                    t          j                  d         }t	          |          S )Nr   )r   splitr#   pathsepr   )r   r.   s     r    _first_item_as_path_if_multipathz0PlatformDirsABC._first_item_as_path_if_multipath^   s0    > 	7!
33A6IIr   c                    dS )z(:return: data directory tied to the userN r   s    r   user_data_dirzPlatformDirsABC.user_data_dird         r   c                    dS )z':return: data directory shared by usersNr4   r5   s    r   site_data_dirzPlatformDirsABC.site_data_diri   r7   r   c                    dS )z*:return: config directory tied to the userNr4   r5   s    r   user_config_dirzPlatformDirsABC.user_config_dirn   r7   r   c                    dS )z-:return: config directory shared by the usersNr4   r5   s    r   site_config_dirzPlatformDirsABC.site_config_dirs   r7   r   c                    dS )z):return: cache directory tied to the userNr4   r5   s    r   user_cache_dirzPlatformDirsABC.user_cache_dirx   r7   r   c                    dS )z(:return: cache directory shared by usersNr4   r5   s    r   site_cache_dirzPlatformDirsABC.site_cache_dir}   r7   r   c                    dS )z):return: state directory tied to the userNr4   r5   s    r   user_state_dirzPlatformDirsABC.user_state_dir   r7   r   c                    dS )z':return: log directory tied to the userNr4   r5   s    r   user_log_dirzPlatformDirsABC.user_log_dir   r7   r   c                    dS )z-:return: documents directory tied to the userNr4   r5   s    r   user_documents_dirz"PlatformDirsABC.user_documents_dir   r7   r   c                    dS )z-:return: downloads directory tied to the userNr4   r5   s    r   user_downloads_dirz"PlatformDirsABC.user_downloads_dir   r7   r   c                    dS )z,:return: pictures directory tied to the userNr4   r5   s    r   user_pictures_dirz!PlatformDirsABC.user_pictures_dir   r7   r   c                    dS )z*:return: videos directory tied to the userNr4   r5   s    r   user_videos_dirzPlatformDirsABC.user_videos_dir   r7   r   c                    dS )z):return: music directory tied to the userNr4   r5   s    r   user_music_dirzPlatformDirsABC.user_music_dir   r7   r   c                    dS )z+:return: desktop directory tied to the userNr4   r5   s    r   user_desktop_dirz PlatformDirsABC.user_desktop_dir   r7   r   c                    dS )z+:return: runtime directory tied to the userNr4   r5   s    r   user_runtime_dirz PlatformDirsABC.user_runtime_dir   r7   r   c                    dS )z*:return: runtime directory shared by usersNr4   r5   s    r   site_runtime_dirz PlatformDirsABC.site_runtime_dir   r7   r   c                *    t          | j                  S )z#:return: data path tied to the user)r   r6   r5   s    r   user_data_pathzPlatformDirsABC.user_data_path        D&'''r   c                *    t          | j                  S )z":return: data path shared by users)r   r9   r5   s    r   site_data_pathzPlatformDirsABC.site_data_path   rX   r   c                *    t          | j                  S )z%:return: config path tied to the user)r   r;   r5   s    r   user_config_pathz PlatformDirsABC.user_config_path        D()))r   c                *    t          | j                  S )z(:return: config path shared by the users)r   r=   r5   s    r   site_config_pathz PlatformDirsABC.site_config_path   r]   r   c                *    t          | j                  S )z$:return: cache path tied to the user)r   r?   r5   s    r   user_cache_pathzPlatformDirsABC.user_cache_path        D'(((r   c                *    t          | j                  S )z#:return: cache path shared by users)r   rA   r5   s    r   site_cache_pathzPlatformDirsABC.site_cache_path   rb   r   c                *    t          | j                  S )z$:return: state path tied to the user)r   rC   r5   s    r   user_state_pathzPlatformDirsABC.user_state_path   rb   r   c                *    t          | j                  S )z":return: log path tied to the user)r   rE   r5   s    r   user_log_pathzPlatformDirsABC.user_log_path   s     D%&&&r   c                *    t          | j                  S )z*:return: documents a path tied to the user)r   rG   r5   s    r   user_documents_pathz#PlatformDirsABC.user_documents_path        D+,,,r   c                *    t          | j                  S )z(:return: downloads path tied to the user)r   rI   r5   s    r   user_downloads_pathz#PlatformDirsABC.user_downloads_path   rk   r   c                *    t          | j                  S )z':return: pictures path tied to the user)r   rK   r5   s    r   user_pictures_pathz"PlatformDirsABC.user_pictures_path   s     D*+++r   c                *    t          | j                  S )z%:return: videos path tied to the user)r   rM   r5   s    r   user_videos_pathz PlatformDirsABC.user_videos_path   r]   r   c                *    t          | j                  S )z$:return: music path tied to the user)r   rO   r5   s    r   user_music_pathzPlatformDirsABC.user_music_path   rb   r   c                *    t          | j                  S )z&:return: desktop path tied to the user)r   rQ   r5   s    r   user_desktop_pathz!PlatformDirsABC.user_desktop_path        D)***r   c                *    t          | j                  S )z&:return: runtime path tied to the user)r   rS   r5   s    r   user_runtime_pathz!PlatformDirsABC.user_runtime_path   rv   r   c                *    t          | j                  S )z%:return: runtime path shared by users)r   rU   r5   s    r   site_runtime_pathz!PlatformDirsABC.site_runtime_path   rv   r   Iterator[str]c              #  .   K   | j         V  | j        V  dS )z4:yield: all user and site configuration directories.N)r;   r=   r5   s    r   iter_config_dirsz PlatformDirsABC.iter_config_dirs  s*      """"""""""r   c              #  .   K   | j         V  | j        V  dS )z+:yield: all user and site data directories.N)r6   r9   r5   s    r   iter_data_dirszPlatformDirsABC.iter_data_dirs	  s*                r   c              #  .   K   | j         V  | j        V  dS )z,:yield: all user and site cache directories.N)r?   rA   r5   s    r   iter_cache_dirszPlatformDirsABC.iter_cache_dirs  s*      !!!!!!!!!!r   c              #  .   K   | j         V  | j        V  dS )z.:yield: all user and site runtime directories.N)rS   rU   r5   s    r   iter_runtime_dirsz!PlatformDirsABC.iter_runtime_dirs  s*      ##########r   Iterator[Path]c              #  Z   K   |                                  D ]}t          |          V  dS )z.:yield: all user and site configuration paths.N)r}   r   r-   s     r   iter_config_pathsz!PlatformDirsABC.iter_config_paths  s@      ))++ 	 	Dt**	 	r   c              #  Z   K   |                                  D ]}t          |          V  dS )z%:yield: all user and site data paths.N)r   r   r-   s     r   iter_data_pathszPlatformDirsABC.iter_data_paths  s@      '')) 	 	Dt**	 	r   c              #  Z   K   |                                  D ]}t          |          V  dS )z&:yield: all user and site cache paths.N)r   r   r-   s     r   iter_cache_pathsz PlatformDirsABC.iter_cache_paths"  s@      ((** 	 	Dt**	 	r   c              #  Z   K   |                                  D ]}t          |          V  dS )z(:yield: all user and site runtime paths.N)r   r   r-   s     r   iter_runtime_pathsz"PlatformDirsABC.iter_runtime_paths'  s@      **,, 	 	Dt**	 	r   )NNNFFTF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r$   r   r   r   )r.   r   r   r   )r   r   )r   r   )r   r{   )r   r   )2__name__
__module____qualname____doc__r   r(   r&   r2   propertyr   r6   r9   r;   r=   r?   rA   rC   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rW   rZ   r\   r_   ra   rd   rf   rh   rj   rm   ro   rq   rs   ru   rx   rz   r}   r   r   r   r   r   r   r   r4   r   r   r   r      s       77 #15"#= = = = =~   : : : :    7 7 7 ^ X7 6 6 6 ^ X6 9 9 9 ^ X9 < < < ^ X< 8 8 8 ^ X8 7 7 7 ^ X7 8 8 8 ^ X8 6 6 6 ^ X6 < < < ^ X< < < < ^ X< ; ; ; ^ X; 9 9 9 ^ X9 8 8 8 ^ X8 : : : ^ X: : : : ^ X: 9 9 9 ^ X9 ( ( ( X( ( ( ( X( * * * X* * * * X* ) ) ) X) ) ) ) X) ) ) ) X) ' ' ' X' - - - X- - - - X- , , , X, * * * X* ) ) ) X) + + + X+ + + + X+ + + + X+# # # #
! ! ! !
" " " "
$ $ $ $
   
   
   
     r   r   )r   
__future__r   r#   abcr   r   pathlibr   typingr   r   r	   r   r4   r   r   <module>r      s     " " " " " " 				 # # # # # # # #                   )((((((((\ \ \ \ \c \ \ \ \ \r   