o
    vZh	                     @   sF   d Z ddlmZ ddlmZ ddlmZ ddlmZ G dd	 d	Z	d
S )zAContain helper class to retrieve/store token from/to local cache.    )Path)Optional   )	constants   	get_tokenc                   @   sF   e Zd ZededdfddZedee fddZed
dd	ZdS )HfFoldertokenreturnNc                 C   s(   t tj}|jjddd || dS )a  
        Save token, creating folder as needed.

        Token is saved in the huggingface home folder. You can configure it by setting
        the `HF_HOME` environment variable.

        Args:
            token (`str`):
                The token to save to the [`HfFolder`]
        T)parentsexist_okN)r   r   HF_TOKEN_PATHparentmkdir
write_text)clsr
   Z
path_token r   O/var/www/auris/lib/python3.10/site-packages/huggingface_hub/utils/_hf_folder.py
save_token   s   
zHfFolder.save_tokenc                 C   s   t  S )aB  
        Get token or None if not existent.

        This method is deprecated in favor of [`huggingface_hub.get_token`] but is kept for backward compatibility.
        Its behavior is the same as [`huggingface_hub.get_token`].

        Returns:
            `str` or `None`: The token, `None` if it doesn't exist.
        r   r   r   r   r   r   -   s   zHfFolder.get_tokenc                 C   s*   z
t tj  W dS  ty   Y dS w )zX
        Deletes the token from storage. Does not fail if token does not exist.
        N)r   r   r   unlinkFileNotFoundErrorr   r   r   r   delete_token<   s
   zHfFolder.delete_token)r   N)	__name__
__module____qualname__classmethodstrr   r   r   r   r   r   r   r   r	      s    r	   N)
__doc__pathlibr   typingr    r   Z_authr   r	   r   r   r   r   <module>   s   