B
    '\                 @   s   d dl mZmZmZmZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mZ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mZ e	eZdd Zdd Zdd Zdd Zdd Z edkre!e  dS )    )absolute_importdivisionprint_functionunicode_literalsN)glob)	getLogger)basenameisdirisfilejoin)S_IREADS_IWRITE   )rm_rf   )AppDirs
EnvAppDirs)
quote_plusunquote_plusc             C   s   t jdd| ddS )Nz([./])api([./]|$)z	\1conda\2r   )count)resub)url r   =lib/python3.7/site-packages/conda/gateways/anaconda_client.pyreplace_first_api_with_conda   s    r   c               C   s2   dt jkr"tddt jtd jS tddjS d S )NZBINSTAR_CONFIG_DIRZbinstarZContinuumIO)osenvironr   strZuser_data_dirr   r   r   r   r   _get_binstar_token_directory   s    
r   c           
   C   s~   t  } t }t|s| S tt|d}xR|D ]J}tddtt|}t	|}|
 }W d Q R X | | |< | t|< q,W | S )Nz*.tokenz\.token$ )dictr   r	   r   r   r   r   r   r   openreadr   )tokens	token_dirZtoken_filesZtkn_filer   ftokenr   r   r   read_binstar_tokens!   s    

r(   c          	   C   sp   t  }t|st| t|dt|  }t|r<t| t|d}|	| W d Q R X t
|ttB  d S )Nz%s.tokenw)r   r	   r   makedirsr   r   r
   unlinkr"   writechmodr   r   )r   r'   r%   	tokenfilefdr   r   r   set_binstar_token0   s    

r0   c             C   s$   t  }t|dt|  }t| d S )Nz%s.token)r   r   r   r   )r   r%   r.   r   r   r   remove_binstar_token>   s    r1   __main__)"Z
__future__r   r   r   r   r   r   r   Zloggingr   os.pathr   r	   r
   r   statr   r   Zdisk.deleter   Z_vendor.appdirsr   r   Z
common.urlr   r   __name__logr   r   r(   r0   r1   printr   r   r   r   <module>   s"   