
    -i%                        d Z ddlZddlmZmZ ddlZddlmZmZm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZ  ed	          Z ed
	          Z ed	          Ze                    ed           e                    ed            G d deej                  Ze                    dd	          ej        dddddfdededeee          ej        d	          f         dededee ej        d	          f         deee          ej        d	          f         ddfd            Z e                    d d!	          ej        ddfdededed"ee ej        d#	          f         ddf
d$            Z!e                    d%d&	          dej        fd'ed(edededdf
d)            Z"e                    d*d+	          dddej        fded,eee          ej        d-	          f         deee          ej        d.	          f         dededdfd/            Z#e                    dd0	          ddej        dfdedee ej$        d1	          f         d2edededee ej        d3	          f         ddfd4            Z%e                    d d5	          dej        fdedee ej$        d6	          f         dededdf
d7            Z&e                    dd8	          dddej        fdedee ej$        d9	          f         d:eee          ej        d;d<d=	          f         d2edededdfd>            Z'e                    d?d@	          dej        fdedededdfdA            Z(e                    d dB	          ddej        fdedee ej$        dC	          f         dDee ej        dEdFdG	          f         dededdfdH            Z)dS )Ia  Contains commands to interact with repositories on the Hugging Face Hub.

Usage:
    # create a new dataset repo on the Hub
    hf repo create my-cool-dataset --repo-type=dataset

    # create a private model repo on the Hub
    hf repo create my-cool-model --private
    N)	AnnotatedOptional)HfHubHTTPErrorRepositoryNotFoundErrorRevisionNotFoundError)ANSI   )
PrivateOpt	RepoIdArgRepoTypeRepoTypeOptRevisionOptTokenOpt
get_hf_apityper_factoryzManage repos on the Hub.)helpz"Manage tags for a repo on the Hub.z&Manage branches for a repo on the Hub.tag)namebranchc                       e Zd ZdZdZdZdS )GatedChoicesautomanualfalseN)__name__
__module____qualname__r   r   r        V/var/www/html/speakWrite/venv/lib/python3.11/site-packages/huggingface_hub/cli/repo.pyr   r   *   s        DFEEEr   r   createzCreate a new repo on the Hub.Frepo_id	repo_type	space_sdkzEHugging Face Spaces SDK type. Required when --type is set to 'space'.privatetokenexist_okz-Do not raise an error if repo already exists.resource_group_idzoResource group in which to create the repo. Resource groups is only available for Enterprise Hub organizations.returnc           	         t          |          }|                    | |j        |||||          }t          dt	          j        |j                   d           t          dt	          j        |                      d S )Nr&   )r"   r#   r%   r&   r'   r(   r$   Successfully created  on the Hub.zYour repo is now available at )r   create_repovalueprintr   boldr"   )	r"   r#   r$   r%   r&   r'   r(   apirepo_urls	            r    repo_creater4   0   s    2 5
!
!
!C/+   H 

K$)H,<"="=
K
K
KLLL	
@49X+>+>
@
@AAAAAr   deletez>Delete a repo from the Hub. this is an irreversible operation.
missing_okz=If set to True, do not raise an error if repo does not exist.c                     t          |          }|                    | |j        |           t          dt	          j        |            d           d S )Nr+   )r"   r#   r6   Successfully deleted r-   )r   delete_repor/   r0   r   r1   )r"   r#   r&   r6   r2   s        r    repo_deleter:   W   sf     5
!
!
!COO/    
 

B$)G"4"4
B
B
BCCCCCr   movez8Move a repository from a namespace to another namespace.from_idto_idc                     t          |          }|                    | ||j                   t          dt	          j        |            dt	          j        |           d           d S )Nr+   )r<   r=   r#   zSuccessfully moved z to r-   )r   	move_repor/   r0   r   r1   )r<   r=   r&   r#   r2   s        r    	repo_mover@   l   sx     5
!
!
!CMM/    
 

V	' 2 2
V
V	%8H8H
V
V
VWWWWWr   settingsz$Update the settings of a repository.gatedz$The gated status for the repository.z)Whether the repository should be private.c                     t          |          }|                    | |r|j        nd ||j                   t          dt	          j        |            d           d S )Nr+   )r"   rB   r%   r#   z%Successfully updated the settings of r-   )r   update_repo_settingsr/   r0   r   r1   )r"   rB   r%   r&   r#   r2   s         r    repo_settingsrE   |   sv    $ 5
!
!
!C#-u{{/	     

R$)G2D2D
R
R
RSSSSSr   z*Create a new branch for a repo on the Hub.z!The name of the branch to create.revisionz?If set to True, do not raise an error if branch already exists.c           
          t          |          }|                    | |||j        |           t          dt	          j        |           d|j         dt	          j        |                       d S )Nr+   )r"   r   rF   r#   r'   r,    branch on  )r   create_branchr/   r0   r   r1   )r"   r   rF   r&   r#   r'   r2   s          r    branch_createrK      s    & 5
!
!
!C/     

f$)F"3"3
f
f	
f
fRVR[\cRdRd
f
fgggggr   z'Delete a branch from a repo on the Hub.z!The name of the branch to delete.c           
          t          |          }|                    | ||j                   t          dt	          j        |           d|j         dt	          j        |                       d S )Nr+   )r"   r   r#   r8   rH   rI   )r   delete_branchr/   r0   r   r1   )r"   r   r&   r#   r2   s        r    branch_deleterN      s     5
!
!
!C/    
 

f$)F"3"3
f
f	
f
fRVR[\cRdRd
f
fgggggr   zCreate a tag for a repo.zThe name of the tag to create.messagez-mz	--messagez%The description of the tag to create.c           
         |j         }t          |          }t          dt          j        |           d| dt          j        |                       	 |                    | ||||           n# t          $ rO t          |                                 dt          j        |            d           t          j	        d          t          $ rH t          d	t          j        t          |                     d           t          j	        d          t          $ re}|j        j        d
k    rNt          dt          j        |           dt          j        |                       t          j	        d          |d }~ww xY wt          dt          j        |           dt          j        |                       d S )Nr+   zYou are about to create tag  on rI   )r"   r   tag_messagerF   r#    not found.r	   codez	Revision i  Tag z already exists on z created on )r/   r   r0   r   r1   
create_tagr   
capitalizetyperExitr   strr   responsestatus_code)	r"   r   rO   rF   r&   r#   repo_type_strr2   es	            r    
tag_creater`      s   * OM
5
!
!
!C	
a3
a
a]
a
aTYW^M_M_
a
abbbwCWxcpqqqq" ! ! !))++MMdi.@.@MMMNNNja      ! ! !?$)CMM22???@@@ja       :!S((P3PPDIg<N<NPPQQQ*!$$$$	
 

A3
A
ATYw-?-?
A
ABBBBBs   A1 1B1F"A FFlistzList tags for a repo.c                    |j         }t          |          }	 |                    | |          }n# t          $ rO t	          |                                 dt          j        |            d           t          j	        d          t          $ rT}t	          |           t	          t          j        |j        j                             t          j	        d          d }~ww xY wt          |j                  dk    r$t	          d           t          j	        d          t	          d	| dt          j        |            d
           |j        D ]}t	          |j                   d S )Nr+   )r"   r#   rI   rS   r	   rT   r   zNo tags foundz	Tags for :)r/   r   list_repo_refsr   r0   rX   r   r1   rY   rZ   r   redr\   textlentagsr   )r"   r&   r#   r^   r2   refsr_   ts           r    tag_listrk      sy    OM
5
!
!
!C!!!']!KK" ! ! !))++MMdi.@.@MMMNNNja     ! ! !adhqz''(((ja    ! 49~~oja    	
;m
;
;di&8&8
;
;
;<<<Y  af s   1 A!C&AC!!C&zDelete a tag for a repo.zThe name of the tag to delete.yesz-yz--yesz"Answer Yes to prompt automaticallyc           
      J   |j         }t          dt          j        |           d| dt          j        |                       |sGt	          d                                          }|dvr"t          d           t          j                    t          |          }	 |	                    | ||           n# t          $ rO t          |                                 dt          j        |            d	           t          j        d
          t          $ rO t          dt          j        |           dt          j        |                       t          j        d
          w xY wt          dt          j        |           dt          j        |                       d S )NzYou are about to delete tag rQ   rI   zProceed? [Y/n] ) yrl   Abortr+   )r"   r   r#   rS   r	   rT   rV   z not found on z deleted on )r/   r0   r   r1   inputlowerrY   rZ   r   
delete_tagr   rX   r   )r"   r   rl   r&   r#   r^   choicer2   s           r    
tag_deleteru     s   ( OM	
a3
a
a]
a
aTYW^M_M_
a
abbb ())//11)))'NNN*,,
5
!
!
!C!wC=IIII" ! ! !))++MMdi.@.@MMMNNNja      ! ! !GTYs^^GG49W3E3EGGHHHja    ! 

A3
A
ATYw-?-?
A
ABBBBBs   B7 7B0E')*__doc__enumtypingr   r   rY   huggingface_hub.errorsr   r   r   huggingface_hub.utilsr   
_cli_utilsr
   r   r   r   r   r   r   r   repo_clitag_cli
branch_cli	add_typerr[   Enumr   commandmodelOptionboolr4   r:   r@   rE   ArgumentrK   rN   r`   rk   ru   r   r   r    <module>r      s:     & & & & & & & &  a a a a a a a a a a & & & & & & v v v v v v v v v v v v v v v v v v v v =8999
-A
B
B
B] HIII
   7  ' ' '   :H  - - -    3	    
(!@AA &^ 	 	 	-#B #B#B#B X	
 	
 	
	#B #B #B @	
 	
 	
	#B" ! C	
 	
 	
	##B. 
/#B #B #B BA#BL 
(!abb &^ 	D DDD D P	
 	
 	
		D 
D D D cbD( 
&YZZ %^	X XXX X 	X
 
X X X [ZX 
*#IJJ 	 	%^T TT7	
 	
 	
	T <	
 	
 	
	T T T  
!T T T KJT6 H#OPP !%^ 	!h hh4	
 	
 	
	h h h h R	
 	
 	
	h" 
#h h h QPh: H#LMM %^h hh4	
 	
 	
	h h h 
h h h NMh( 	 :;;  	 %^%$C $C$C	1	
 	
 	
	
$C 8	
 	
 	
	$C  !$C" #$C$ %$C& 
'$C $C $C <;$CN 	566 %^   
	   760 	 :;;  	%^##C #C#C	1	
 	
 	
	
#C 
5	
 	
 	
	
#C  !#C" ##C$ 
%#C #C #C <;#C #C #Cr   