� u��g=$��~�dZddlmZddlZddlmZmZddlmZddl m Z e r ddl m Z ddl m Z Gd �d e��ZdS) z Base API.�)� annotationsN)�ABC�abstractmethod)�Path)� TYPE_CHECKING)�Iterator)�Literalc��eZdZdZ dDdEd�ZdFd�ZdGd�ZdHd�Zee dId�����Z ee dId�����Z ee dId�����Z ee 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 rrrrrr)�selfr rrrrrrs �`/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���}|jr;|�|j��|jr|�|j��t jj|dg|�R�}|�|��|S)N�r)�listr �appendr�os�path�join�_optionally_create_directory)rr�paramsr$s r�_append_app_name_and_versionz,PlatformDirsABC._append_app_name_and_versionQs����d�1�2�2�h���� �<� ,� �M�M�$�,� '� '� '��|� ,�� � �d�l�+�+�+��w�|�D��G�-�f�-�-�-�� �)�)�$�/�/�/�� rr$c�`�|jr&t|���dd���dSdS)NT)�parents�exist_ok)rr�mkdir�rr$s rr&z,PlatformDirsABC._optionally_create_directory[s<�� � � :� ��J�J� � �T�D� � 9� 9� 9� 9� 9� :� :r� directoryrc�x�|jr%|�tj��d}t |��S)Nr)r�splitr#�pathsepr)rr.s r� _first_item_as_path_if_multipathz0PlatformDirsABC._first_item_as_path_if_multipath_s0�� �>� 7�!���� �3�3�A�6�I��I���rc��dS)z(:return: data directory tied to the userN��rs r� user_data_dirzPlatformDirsABC.user_data_dire����rc��dS)z':return: data directory shared by usersNr4r5s r� site_data_dirzPlatformDirsABC.site_data_dirjr7rc��dS)z*:return: config directory tied to the userNr4r5s r�user_config_dirzPlatformDirsABC.user_config_diror7rc��dS)z-:return: config directory shared by the usersNr4r5s r�site_config_dirzPlatformDirsABC.site_config_dirtr7rc��dS)z):return: cache directory tied to the userNr4r5s r�user_cache_dirzPlatformDirsABC.user_cache_diryr7rc��dS)z(:return: cache directory shared by usersNr4r5s r�site_cache_dirzPlatformDirsABC.site_cache_dir~r7rc��dS)z):return: state directory tied to the userNr4r5s r�user_state_dirzPlatformDirsABC.user_state_dir�r7rc��dS)z':return: log directory tied to the userNr4r5s r� user_log_dirzPlatformDirsABC.user_log_dir�r7rc��dS)z-:return: documents directory tied to the userNr4r5s r�user_documents_dirz"PlatformDirsABC.user_documents_dir�r7rc��dS)z-:return: downloads directory tied to the userNr4r5s r�user_downloads_dirz"PlatformDirsABC.user_downloads_dir�r7rc��dS)z,:return: pictures directory tied to the userNr4r5s r�user_pictures_dirz!PlatformDirsABC.user_pictures_dir�r7rc��dS)z*:return: videos directory tied to the userNr4r5s r�user_videos_dirzPlatformDirsABC.user_videos_dir�r7rc��dS)z):return: music directory tied to the userNr4r5s r�user_music_dirzPlatformDirsABC.user_music_dir�r7rc��dS)z+:return: desktop directory tied to the userNr4r5s r�user_desktop_dirz PlatformDirsABC.user_desktop_dir�r7rc��dS)z+:return: runtime directory tied to the userNr4r5s r�user_runtime_dirz PlatformDirsABC.user_runtime_dir�r7rc��dS)z*:return: runtime directory shared by usersNr4r5s r�site_runtime_dirz PlatformDirsABC.site_runtime_dir�r7rc�*�t|j��S)z#:return: data path tied to the user)rr6r5s r�user_data_pathzPlatformDirsABC.user_data_path�����D�&�'�'�'rc�*�t|j��S)z":return: data path shared by users)rr9r5s r�site_data_pathzPlatformDirsABC.site_data_path�rXrc�*�t|j��S)z%:return: config path tied to the user)rr;r5s r�user_config_pathz PlatformDirsABC.user_config_path�����D�(�)�)�)rc�*�t|j��S)z(:return: config path shared by the users)rr=r5s r�site_config_pathz PlatformDirsABC.site_config_path�r]rc�*�t|j��S)z$:return: cache path tied to the user)rr?r5s r�user_cache_pathzPlatformDirsABC.user_cache_path�����D�'�(�(�(rc�*�t|j��S)z#:return: cache path shared by users)rrAr5s r�site_cache_pathzPlatformDirsABC.site_cache_path�rbrc�*�t|j��S)z$:return: state path tied to the user)rrCr5s r�user_state_pathzPlatformDirsABC.user_state_path�rbrc�*�t|j��S)z":return: log path tied to the user)rrEr5s r� user_log_pathzPlatformDirsABC.user_log_path�s���D�%�&�&�&rc�*�t|j��S)z*:return: documents a path tied to the user)rrGr5s r�user_documents_pathz#PlatformDirsABC.user_documents_path�����D�+�,�,�,rc�*�t|j��S)z(:return: downloads path tied to the user)rrIr5s r�user_downloads_pathz#PlatformDirsABC.user_downloads_path�rkrc�*�t|j��S)z':return: pictures path tied to the user)rrKr5s r�user_pictures_pathz"PlatformDirsABC.user_pictures_path�s���D�*�+�+�+rc�*�t|j��S)z%:return: videos path tied to the user)rrMr5s r�user_videos_pathz PlatformDirsABC.user_videos_path�r]rc�*�t|j��S)z$:return: music path tied to the user)rrOr5s r�user_music_pathzPlatformDirsABC.user_music_path�rbrc�*�t|j��S)z&:return: desktop path tied to the user)rrQr5s r�user_desktop_pathz!PlatformDirsABC.user_desktop_path�����D�)�*�*�*rc�*�t|j��S)z&:return: runtime path tied to the user)rrSr5s r�user_runtime_pathz!PlatformDirsABC.user_runtime_path�rvrc�*�t|j��S)z%:return: runtime path shared by users)rrUr5s r�site_runtime_pathz!PlatformDirsABC.site_runtime_pathrvr� Iterator[str]c#�.K�|jV�|jV�dS)z4:yield: all user and site configuration directories.N)r;r=r5s r�iter_config_dirsz PlatformDirsABC.iter_config_dirss*�����"�"�"�"��"�"�"�"�"�"rc#�.K�|jV�|jV�dS)z+:yield: all user and site data directories.N)r6r9r5s r�iter_data_dirszPlatformDirsABC.iter_data_dirs s*����� � � � �� � � � � � rc#�.K�|jV�|jV�dS)z,:yield: all user and site cache directories.N)r?rAr5s r�iter_cache_dirszPlatformDirsABC.iter_cache_dirss*�����!�!�!�!��!�!�!�!�!�!rc#�.K�|jV�|jV�dS)z.:yield: all user and site runtime directories.N)rSrUr5s r�iter_runtime_dirsz!PlatformDirsABC.iter_runtime_dirss*�����#�#�#�#��#�#�#�#�#�#r�Iterator[Path]c#�ZK�|���D]}t|��V��dS)z.:yield: all user and site configuration paths.N)r}rr-s r�iter_config_pathsz!PlatformDirsABC.iter_config_pathss@�����)�)�+�+� � �D��t�*�*� � � � � � rc#�ZK�|���D]}t|��V��dS)z%:yield: all user and site data paths.N)rrr-s r�iter_data_pathszPlatformDirsABC.iter_data_pathss@�����'�'�)�)� � �D��t�*�*� � � � � � rc#�ZK�|���D]}t|��V��dS)z&:yield: all user and site cache paths.N)r�rr-s r�iter_cache_pathsz PlatformDirsABC.iter_cache_paths#s@�����(�(�*�*� � �D��t�*�*� � � � � � rc#�ZK�|���D]}t|��V��dS)z(:yield: all user and site runtime paths.N)r�rr-s r�iter_runtime_pathsz"PlatformDirsABC.iter_runtime_paths(s@�����*�*�,�,� � �D��t�*�*� � � � � � r)NNNFFTF)r r rrrr rrrrrrrrrr)rrrr)r$rrr)r.rrr)rr)rr)rr{)rr�)2�__name__� __module__� __qualname__�__doc__rr(r&r2�propertyrr6r9r;r=r?rArCrErGrIrKrMrOrQrSrUrWrZr\r_rardrfrhrjrmrorqrsrurxrzr}rr�r�r�r�r�r�r4rrr 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�+�#�#�#�#� !�!�!�!� "�"�"�"� $�$�$�$� ���� ���� ���� �����rr )r�� __future__rr#�abcrr�pathlibr�typingr�collections.abcrr r r4rr�<module>r�s�����"�"�"�"�"�"� � � � �#�#�#�#�#�#�#�#������� � � � � � ���(�(�(�(�(�(�������\�\�\�\�\�c�\�\�\�\�\r
Memory