o
    0i                     @   s6  U d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZ dedefddZde	defd	d
ZdedefddZdedefddZdedefddZdedefddZdedefddZe	eeeeeeeedd eee
dd edd eeeei
Zeee edef f ed< dedee fddZdS )zCLI error handling utilities.    N)CallableOptional)	BucketNotFoundErrorCLIErrorCLIExtensionInstallErrorGatedRepoErrorHfHubHTTPErrorLocalTokenNotFoundErrorRemoteEntryNotFoundErrorRepositoryNotFoundErrorRevisionNotFoundErrorerrorreturnc                 C   sD   | j r| j  nd}| jr| d| j d}n| d}|d7 }|S )NZ
Repository 'z' not found.z not found.z9 If the repo is private, make sure you are authenticated.)	repo_type
capitalizerepo_id)r   labelmsg r   U/home/kim/smarthome/.venv/lib/python3.10/site-packages/huggingface_hub/cli/_errors.py_format_repo_not_found    s   
r   c                 C   s:   | j r| j nd}| jrd|  d| j dS d| dS )N
repositoryzAccess denied. r   z' requires approval.zAccess denied. This z requires approval.)r   r   r   r   r   r   r   r   _format_gated_repo*   s   r   c                 C   s   | j r
d| j  dS dS )NzBucket 'zG' not found. If the bucket is private, make sure you are authenticated.zrBucket not found. Check the bucket id (namespace/name). If the bucket is private, make sure you are authenticated.)Z	bucket_idr   r   r   r   _format_bucket_not_found1   s   r   c                 C   sd   | j r| j nd}| jrt| jjnd }| jr!d| d| j d}nd| d}|r0|d| 7 }|S )Nr   zFile not found in r   '..z
URL: )r   responsestrurlr   )r   r   r!   r   r   r   r   _format_entry_not_found7   s   r"   c                 C   s6   | j r| j nd}| jrd| d| j dS d| dS )Nr   zRevision not found in r   r   z. Check the revision parameter.)r   r   r   r   r   r   _format_revision_not_foundC   s   r#   c                 C      t | S )z%No traceback, just the error message.r    r   r   r   r   _format_cli_errorJ   s   r&   c                 C   s<   | j durdtt| j | j | j jnd}| d|  S )a0  Format a CLI extension installation error.

    The error is likely to be a tricky subprocess error to investigate. In this specific case we want to format the
    traceback of the root cause while keeping the "nicely formatted" error message of the CLIExtensionInstallError
    as a 1-line message.
    N 
)	__cause__join	tracebackformat_exceptiontype__traceback__)r   Zcause_tbr   r   r   #_format_cli_extension_install_errorO   s
   
	 r/   c                 C   s   dS )Nz)Not logged in. Run 'hf auth login' first.r   )_r   r   r   <lambda>d   s    r1   c                 C   r$   Nr%   r   r   r   r   r1   f   s    c                 C   s
   d|  S )NzInvalid value. r   r   r   r   r   r1   g   s   
 .CLI_ERROR_MAPPINGSc                 C   s,   t  D ]\}}t| |r||   S qd S r2   )r3   items
isinstance)r   exc_type	formatterr   r   r   format_known_exceptionm   s
   
r8   )__doc__r+   typingr   r   Zhuggingface_hub.errorsr   r   r   r   r   r	   r
   r   r   r    r   r   r   r"   r#   r&   r/   
ValueErrorr3   dictr-   	Exception__annotations__r8   r   r   r   r   <module>   s.   ,
 