
    2 j                    D    S r SSKJr  SSKrSSKJr   " S S\5      rS/rg)z2XDG environment variable mixin for Unix and macOS.    )annotationsN   )PlatformDirsABCc                    ^  \ rS rSrSr\SU 4S jj5       r\SU 4S jj5       r\SS j5       r\SU 4S jj5       r	\SU 4S jj5       r
\SS j5       r\SU 4S	 jj5       r\SU 4S
 jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SU 4S jj5       r\SS j5       rSrU =r$ )XDGMixin
   zhMixin that checks XDG environment variables, falling back to platform-specific defaults via ``super()``.c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )z`:returns: data directory tied to the user, from ``$XDG_DATA_HOME`` if set, else platform defaultXDG_DATA_HOME )osenvirongetstrip_append_app_name_and_versionsuperuser_data_dirselfpath	__class__s     b/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/platformdirs/_xdg.pyr   XDGMixin.user_data_dir   sD     ::>>/26<<>>4>44T::w$$    c                6  > [         R                  R                  SS5      R                  5       =n(       aU  UR	                  [         R
                  5       Vs/ s H*  o"R                  5       (       d  M  U R                  U5      PM,     sn$ [        TU ]   $ s  snf )NXDG_DATA_DIRSr   )	r   r   r   r   splitpathsepr   r   _site_data_dirsr   xdg_dirspr   s      r   r   XDGMixin._site_data_dirs   su    zz~~or:@@BB8BBJ..QSQ[Q[B\jB\Q`g`g`i8D55a8B\jjw&& k   B4Bc                    U R                   nU R                  (       a  [        R                  R	                  U5      $ US   $ )za:returns: data directories shared by users, from ``$XDG_DATA_DIRS`` if set, else platform defaultr   )r   	multipathr   r   joinr   dirss     r   site_data_dirXDGMixin.site_data_dir   s1     ##(,rzzt$CDGCr   c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )zd:returns: config directory tied to the user, from ``$XDG_CONFIG_HOME`` if set, else platform defaultXDG_CONFIG_HOMEr   )r   r   r   r   r   r   user_config_dirr   s     r   r-   XDGMixin.user_config_dir    sE     ::>>"3R8>>@@4@44T::w&&r   c                6  > [         R                  R                  SS5      R                  5       =n(       aU  UR	                  [         R
                  5       Vs/ s H*  o"R                  5       (       d  M  U R                  U5      PM,     sn$ [        TU ]   $ s  snf )NXDG_CONFIG_DIRSr   )	r   r   r   r   r   r   r   r   _site_config_dirsr   s      r   r1   XDGMixin._site_config_dirs'   sv    zz~~&7<BBDD8DBJ..QSQ[Q[B\jB\Q`g`g`i8D55a8B\jjw(( kr#   c                    U R                   nU R                  (       a  [        R                  R	                  U5      $ US   $ )ze:returns: config directories shared by users, from ``$XDG_CONFIG_DIRS`` if set, else platform defaultr   )r1   r%   r   r   r&   r'   s     r   site_config_dirXDGMixin.site_config_dir-   s1     %%(,rzzt$CDGCr   c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )zb:returns: cache directory tied to the user, from ``$XDG_CACHE_HOME`` if set, else platform defaultXDG_CACHE_HOMEr   )r   r   r   r   r   r   user_cache_dirr   s     r   r8   XDGMixin.user_cache_dir3   E     ::>>"2B7==??4?44T::w%%r   c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )zb:returns: state directory tied to the user, from ``$XDG_STATE_HOME`` if set, else platform defaultXDG_STATE_HOMEr   )r   r   r   r   r   r   user_state_dirr   s     r   r=   XDGMixin.user_state_dir:   r:   r   c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )ze:returns: runtime directory tied to the user, from ``$XDG_RUNTIME_DIR`` if set, else platform defaultXDG_RUNTIME_DIRr   )r   r   r   r   r   r   user_runtime_dirr   s     r   rA   XDGMixin.user_runtime_dirA   E     ::>>"3R8>>@@4@44T::w''r   c                   > [         R                  R                  SS5      R                  5       =n(       a  U R	                  U5      $ [
        TU ]  $ )zd:returns: runtime directory shared by users, from ``$XDG_RUNTIME_DIR`` if set, else platform defaultr@   r   )r   r   r   r   r   r   site_runtime_dirr   s     r   rE   XDGMixin.site_runtime_dirH   rC   r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )zi:returns: documents directory tied to the user, from ``$XDG_DOCUMENTS_DIR`` if set, else platform defaultXDG_DOCUMENTS_DIRr   )r   r   r   r   r   
expanduserr   user_documents_dirr   s     r   rJ   XDGMixin.user_documents_dirO   sI     ::>>"5r:@@BB4B77%%d++w))r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )zh:returns: downloads directory tied to the user, from ``$XDG_DOWNLOAD_DIR`` if set, else platform defaultXDG_DOWNLOAD_DIRr   )r   r   r   r   r   rI   r   user_downloads_dirr   s     r   rN   XDGMixin.user_downloads_dirV   sI     ::>>"4b9??AA4A77%%d++w))r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )zg:returns: pictures directory tied to the user, from ``$XDG_PICTURES_DIR`` if set, else platform defaultXDG_PICTURES_DIRr   )r   r   r   r   r   rI   r   user_pictures_dirr   s     r   rR   XDGMixin.user_pictures_dir]   sI     ::>>"4b9??AA4A77%%d++w((r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )zc:returns: videos directory tied to the user, from ``$XDG_VIDEOS_DIR`` if set, else platform defaultXDG_VIDEOS_DIRr   )r   r   r   r   r   rI   r   user_videos_dirr   s     r   rV   XDGMixin.user_videos_dird   sI     ::>>"2B7==??4?77%%d++w&&r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )za:returns: music directory tied to the user, from ``$XDG_MUSIC_DIR`` if set, else platform defaultXDG_MUSIC_DIRr   )r   r   r   r   r   rI   r   user_music_dirr   s     r   rZ   XDGMixin.user_music_dirk   sH     ::>>/26<<>>4>77%%d++w%%r   c                   > [         R                  R                  SS5      R                  5       =n(       a  [         R                  R                  U5      $ [        TU ]  $ )ze:returns: desktop directory tied to the user, from ``$XDG_DESKTOP_DIR`` if set, else platform defaultXDG_DESKTOP_DIRr   )r   r   r   r   r   rI   r   user_desktop_dirr   s     r   r^   XDGMixin.user_desktop_dirr   sI     ::>>"3R8>>@@4@77%%d++w''r   c                   > [         R                  R                  SS5      R                  5       =n(       a=  [         R                  R                  [         R                  R                  U5      S5      $ [        TU ]   $ )zh:returns: applications directory tied to the user, from ``$XDG_DATA_HOME`` if set, else platform defaultr
   r   applications)	r   r   r   r   r   r&   rI   r   user_applications_dirr   s     r   rb   XDGMixin.user_applications_diry   sW     ::>>/26<<>>4>77<< 2 24 8.IIw,,r   c                T  > [         R                  R                  SS5      R                  5       =n(       ad  UR	                  [         R
                  5       Vs/ s H9  o"R                  5       (       d  M  [         R                  R                  US5      PM;     sn$ [        TU ]$  $ s  snf )Nr   r   ra   )
r   r   r   r   r   r   r   r&   r   _site_applications_dirsr   s      r   re    XDGMixin._site_applications_dirs   sv    zz~~or:@@BB8B=E^^BJJ=We=W[b[b[d3BGGLLN3=Weew.. fs   B%4$B%c                    U R                   nU R                  (       a  [        R                  R	                  U5      $ US   $ )zi:returns: applications directories shared by users, from ``$XDG_DATA_DIRS`` if set, else platform defaultr   )re   r%   r   r   r&   r'   s     r   site_applications_dirXDGMixin.site_applications_dir   s1     ++(,rzzt$CDGCr    )returnstr)rk   z	list[str])__name__
__module____qualname____firstlineno____doc__propertyr   r   r)   r-   r1   r4   r8   r=   rA   rE   rJ   rN   rR   rV   rZ   r^   rb   re   rh   __static_attributes____classcell__)r   s   @r   r   r   
   s   r% % ' '
 D D
 ' ' ) )
 D D
 & & & & ( ( ( ( * * * * ) ) ' ' & & ( ( - - / /
 D Dr   r   )rq   
__future__r   r   apir   r   __all__rj   r   r   <module>rx      s.    8 " 	  @D @DH r   