
    wBfW
                     $   d Z ddlZddlZddlmZ ddlmZmZmZ ddl	m
Z
mZ 	 ddlmZ dd	lmZmZ dd
lmZ ddlmZ  ee      Zd Z eddd       G d d             Zd Zd Zd Zd Zedk(  r e  e              yy# e$ r	 ddlmZ Y dw xY w)z<Anaconda-client (binstar) token management for CondaSession.    N)	getLogger)isdirisfilejoin)S_IREADS_IWRITE)user_config_dir   )user_data_dir)
quote_plusunquote_plus)
deprecated   )rm_rfc                 4    t        j                  dd| d      S )Nz([./])api([./]|$)z	\1conda\2r   )count)resub)urls    >lib/python3.12/site-packages/conda/gateways/anaconda_client.pyreplace_first_api_with_condar      s    66&cCC    z24.3z24.9zUse `platformdirs` instead.)addendumc                   R    e Zd Zd Zed        Zed        Zed        Zed        Zy)
EnvAppDirsc                 .    || _         || _        || _        y )N)appname	appauthor	root_path)selfr   r   r   s       r   __init__zEnvAppDirs.__init__   s    ""r   c                 .    t        | j                  d      S Ndatar   r   r    s    r   r   zEnvAppDirs.user_data_dir#       DNNF++r   c                 .    t        | j                  d      S r#   r%   r&   s    r   site_data_dirzEnvAppDirs.site_data_dir'   r'   r   c                 .    t        | j                  d      S )Ncacher%   r&   s    r   user_cache_dirzEnvAppDirs.user_cache_dir+   s    DNNG,,r   c                 .    t        | j                  d      S )Nlogr%   r&   s    r   user_log_dirzEnvAppDirs.user_log_dir/   s    DNNE**r   N)	__name__
__module____qualname__r!   propertyr   r)   r,   r/    r   r   r   r      sW    #
 , , , , - - + +r   r   c                      dt         j                  v r1t         j                  j                  t         j                  d   d      S t	        dd      S )NBINSTAR_CONFIG_DIRr$   binstarContinuumIO)r   r   )osenvironpathr   r	   r4   r   r   _get_binstar_token_directoryr<   4   s:    rzz)ww||BJJ';<fEEyMJJr   c                     i } t               }t        |      s| S t        j                  |      D ]  }|j                  dd  dk7  rt        j                  ddt        |j                              }t        |j                        5 }|j                         }d d d        x| |<   | t        |      <    | S # 1 sw Y    xY w)Niz.tokenz\.token$ )r<   r   r9   scandirnamer   r   r   openr;   readr   )tokens	token_dir	tkn_entryr   ftokens         r   read_binstar_tokensrH   ;   s    F,.IZZ	* H	>>"#(*ff["l9>>&BC)..! 	QFFHE	BGGsf9#>?H M	 	s   B44B=	c                 n   t               }t        |      st        j                  |       t	        |dt        |       z        }t        |      rt        j                  |       t        |d      5 }|j                  |       d d d        t        j                  |t        t        z         y # 1 sw Y   +xY w)N%s.tokenw)r<   r   r9   makedirsr   r   r   unlinkrA   writechmodr   r   )r   rG   rD   	tokenfilefds        r   set_binstar_tokenrR   K   s    ,.I
IY
Z_ <=Ii
		)	i	 
HHY7*+ s   /B++B4c                 ^    t               }t        |dt        |       z        }t        |       y )NrJ   )r<   r   r   r   )r   rD   rP   s      r   remove_binstar_tokenrT   Y   s'    ,.IY
Z_ <=I	)r   __main__)!__doc__r9   r   loggingr   os.pathr   r   r   statr   r   platformdirsr	   ImportError_vendor.appdirsr   
common.urlr   r   deprecationsr   disk.deleter   r0   r.   r   r   r<   rH   rR   rT   printr4   r   r   <module>ra      s    C 	 	  ' ' "C, 2 % D
 FF%BC+ + D+.K , z	

  e  CBCs   B BB