
    RX9i                        S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SS	KJrJrJrJr  SS
KJrJrJr  SSKJr  \R2                  " \5      r SSKJr  SSKJr  Sr  " S S\	5      r" " S S5      r# " S S\#5      r$ " S S\#5      r% " S S\#5      r& " S S\#5      r' " S S\#5      r(g! \! a    Sr  NWf = f) a  Contains commands to authenticate to the Hugging Face Hub and interact with your repositories.

Usage:
    # login and save token locally.
    hf auth login --token=hf_*** --add-to-git-credential

    # switch between tokens
    hf auth switch

    # list all tokens
    hf auth list

    # logout from all tokens
    hf auth logout

    # check which account you are logged in as
    hf auth whoami
    )_SubParsersAction)ListOptional)	HTTPError)BaseHuggingfaceCLICommand)ENDPOINT)HfApi   )	auth_listauth_switchloginlogout)get_stored_tokens	get_tokenlogging   )ANSI)inquirer)ChoiceTFc                   ,    \ rS rSr\S\4S j5       rSrg)AuthCommands:   parserc                 l  ^ U R                  SSS9mTR                  SS9nTR                  U4S jS9  UR                  SSS9nUR                  S	[        S
S9  UR                  SSSS9  UR                  S S9  UR                  SSS9nUR                  S[        SS9  UR                  S S9  UR                  SSS9nUR                  S S9  UR                  SSS9nUR                  S[        SS9  UR                  SSSS9  UR                  S S9  UR                  SSS9nUR                  S S9  g ) Nauthz,Manage authentication (login, logout, etc.).)helpzAuthentication subcommandsc                 $   > TR                  5       $ N)
print_help)argsauth_parsers    X/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/huggingface_hub/cli/auth.py<lambda>2AuthCommands.register_subcommand.<locals>.<lambda>B   s    ;3I3I3K    )funcr   z8Log in using a token from huggingface.co/settings/tokensz--tokenz;Token generated from https://huggingface.co/settings/tokens)typer   z--add-to-git-credential
store_truez.Optional: Save token to git credential helper.)actionr   c                     [        U 5      $ r   )	AuthLoginr    s    r"   r#   r$   R   s    IdOr%   r   zLog outz--token-namez3Optional: Name of the access token to log out from.c                     [        U 5      $ r   )
AuthLogoutr,   s    r"   r#   r$   [   	    Z5Er%   whoamiz;Find out which huggingface.co account you are logged in as.c                     [        U 5      $ r   )
AuthWhoamir,   s    r"   r#   r$   a   r/   r%   switchzSwitch between access tokensz0Optional: Name of the access token to switch to.c                     [        U 5      $ r   )
AuthSwitchr,   s    r"   r#   r$   o   s	    *T:Jr%   listzList all stored access tokensc                     [        U 5      $ r   )AuthListr,   s    r"   r#   r$   r   s    r%   )
add_parseradd_subparsersset_defaultsadd_argumentstr)r   auth_subparserslogin_parserlogout_parserwhoami_parserauth_switch_parserauth_list_parserr!   s          @r"   register_subcommand AuthCommands.register_subcommand;   s    ''5c'd%44:V4W 	  &K L '11T 2 
 	!!N 	" 	

 	!!%A 	" 	

 	!!'C!D (228)2L""F 	# 	

 	""(E"F (22X 3 
 	""(E"F -77Ge7f''C 	( 	

 	''%A 	( 	

 	''-J'K*55fCb5c%%+F%Gr%    N)__name__
__module____qualname____firstlineno__staticmethodr   rD   __static_attributes__rF   r%   r"   r   r   :   s    6H$5 6H 6Hr%   r   c                       \ rS rSrS rSrg)BaseAuthCommandu   c                 .    Xl         [        5       U l        g r   )r    r	   _api)selfr    s     r"   __init__BaseAuthCommand.__init__v   s    	G	r%   )rQ   r    N)rG   rH   rI   rJ   rS   rL   rF   r%   r"   rN   rN   u   s    r%   rN   c                       \ rS rSrS rSrg)r+   {   c                     [         R                  " 5         [        U R                  R                  U R                  R
                  S9  g )N)tokenadd_to_git_credential)r   set_verbosity_infor   r    rX   rY   rR   s    r"   runAuthLogin.run|   s.    ""$))//"&))"A"A	
r%   rF   NrG   rH   rI   rJ   r\   rL   rF   r%   r"   r+   r+   {   s    
r%   r+   c                       \ rS rSrS rSrg)r.      c                 h    [         R                  " 5         [        U R                  R                  S9  g )N)
token_name)r   rZ   r   r    rb   r[   s    r"   r\   AuthLogout.run   s     ""$$))../r%   rF   Nr^   rF   r%   r"   r.   r.      s    0r%   r.   c                   L    \ rS rSrS rS\\   4S jrS\\   S\\   4S jr	Sr
g)	r5      c                     [         R                  " 5         U R                  R                  nUc  U R	                  5       nUc  [        S5        [        5         [        XR                  R                  S9  g )Nz!No token name provided. Aborting.)rY   )	r   rZ   r    rb   _select_token_nameprintexitr   rY   )rR   rb   s     r"   r\   AuthSwitch.run   sW    ""$YY))
002J56FJii6U6UVr%   returnc                    [        [        5       R                  5       5      nU(       d  [        R	                  S5        g [
        (       a  U R                  U5      $ [        S5        [        US5       H  u  p#[        U SU 35        M       [        S5      nUR                  5       S:X  a  g [        U5      S-
  nSUs=::  a  [        U5      :  a  O  OX   $ [        S5         MZ  ! [         a    [        S	5         Nf = f)
Nz+No stored tokens found. Please login first.zAvailable stored tokens:r   z. z=Enter the number of the token to switch to (or 'q' to quit): qr   z$Invalid selection. Please try again.z4Invalid input. Please enter a number or 'q' to quit.)r6   r   keysloggererror_inquirer_py_available_select_token_name_tuirh   	enumerateinputlowerintlen
ValueError)rR   token_namesirb   choiceindexs         r"   rg   AuthSwitch._select_token_name   s    ,.3356LLFG!!..{;;()&{A6MAQCr*&' 7
N^_<<>S(Fa0K 00&--@A   NLMNs   C& -*C& C& &C>=C>ry   c                     U Vs/ s H  n[        X"S9PM     nn [        R                  " SUS S9R                  5       $ s  snf ! [         a    [
        R                  S5         g f = f)N)namezSelect a token to switch to:)messagechoicesdefaultzToken selection cancelled.)r   r   selectexecuteKeyboardInterruptro   info)rR   ry   rb   r   s       r"   rr   !AuthSwitch._select_token_name_tui   sj    ITU:6*6U	??6 gi	 V ! 	KK45	s   ?#A A&%A&rF   N)rG   rH   rI   rJ   r\   r   r=   rg   r   rr   rL   rF   r%   r"   r5   r5      s5    	WNHSM N4
$s) 
 
r%   r5   c                       \ rS rSrS rSrg)r8      c                 B    [         R                  " 5         [        5         g r   )r   rZ   r   r[   s    r"   r\   AuthList.run   s    ""$r%   rF   Nr^   rF   r%   r"   r8   r8      s    r%   r8   c                       \ rS rSrS rSrg)r2      c                 d   [        5       nUc  [        S5        [        5          U R                  R	                  U5      n[        [
        R                  " S5      US   5        US    Vs/ s H  o3S   PM	     nnU(       a/  [        [
        R                  " S5      SR                  U5      5        [        S:w  a  [        S[         35        g g s  snf ! [         aS  n[        U5        [        [
        R                  " UR                  R                  5      5        [        S	5         S nAg S nAff = f)
NzNot logged inzuser: r   orgszorgs: ,zhttps://huggingface.coz(Authenticated through private endpoint: r   )r   rh   ri   rQ   r0   r   boldjoinr   r   redresponsetext)rR   rX   r   orgr   es         r"   r\   AuthWhoami.run   s    =/"F	99##E*D$))H%tF|4+/<8<CK<D8dii)388D>:33@
KL 4	 9  	!H$((1::??+,GG	s,   AC )C7AC C 
D/A	D**D/rF   Nr^   rF   r%   r"   r2   r2      s    r%   r2   N))__doc__argparser   typingr   r   requests.exceptionsr   huggingface_hub.commandsr   huggingface_hub.constantsr   huggingface_hub.hf_apir	   _loginr   r   r   r   utilsr   r   r   
_cli_utilsr   
get_loggerrG   ro   
InquirerPyr   InquirerPy.base.controlr   rq   ImportErrorr   rN   r+   r.   r5   r8   r2   rF   r%   r"   <module>r      s   & ' ! ) > . ( : : 9 9  
		H	%##.!
8H, 8Hv 
 
0 00 0f  [  #"#s   B3 3B>=B>