
    Zi7/                     |	   d Z ddl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
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
          dej        ddfd            Z ed	          Z ed	          Ze                    ed           e                    ed            G d deej                  Z e!                    dddg          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'g          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,g          dej"        fd-ed.ed ededdf
d/            Z'e!                    d0d1d2g          dddej"        fded3eee           ej#        d4	          f         deee$          ej#        d5	          f         d ededdfd6            Z(e!                    d7g d8          ej"        dddddfded9ee)e          ej*        d:	          f         ded;ed<eee          ej#        d=	          f         d>eee          ej#        d?	          f         d@ee$ ej#        dA	          f         d eddfdB            Z+e!                    ddCdDg          ddej"        dfdedee ej*        dE	          f         d;ed eded!ee$ ej#        dF	          f         ddfdG            Z,e!                    d&dHg          dej"        fdedee ej*        dI	          f         d ededdf
dJ            Z-e!                    ddKdLg          dddej"        fdedee ej*        dM	          f         dNeee          ej#        dOdPdQ	          f         d;ed ededdfdR            Z.e!                    dSdTg          dej"        fded ededdfdU            Z/e!                    d&dVg          ddej"        fdedee ej*        dW	          f         dXee$ ej#        dYdZd[	          f         d ededdfd\            Z0dS )]ae  Contains commands to interact with repositories on the Hugging Face Hub.

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

    # create a private model repo on the Hub
    hf repos create my-cool-model --private

    # delete files from a repo on the Hub
    hf repos delete-files my-model file.txt
    N)	AnnotatedOptional)CLIErrorHfHubHTTPErrorRepositoryNotFoundErrorRevisionNotFoundError)ANSI   )
PrivateOpt	RepoIdArgRepoTypeRepoTypeOptRevisionOptTokenOpt
get_hf_apityper_factoryzManage repos on the Hub.)helpT)invoke_without_commandctxreturnc                 z    | j         dk    r/t          t          j        d          t          j                   d S d S )Nrepoz>FutureWarning: `hf repo` is deprecated in favor of `hf repos`.)file)	info_nameprintr	   yellowsysstderr)r   s    T/root/projects/butler/venv/lib/python3.11/site-packages/huggingface_hub/cli/repos.py_repos_callbackr    3   sK    
}KXYY	
 	
 	
 	
 	
 	
     z"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)    r!   r   r&   r&   B   s        DFEEEr!   r&   createzhf repos create my-modelz8hf repos create my-dataset --repo-type dataset --private)examplesF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.c           	         t          |          }|                    | |j        |||||          }t          dt	          j        |j                   d           t          dt	          j        |                      dS )zCreate a new repo on the Hub.r4   )r0   r1   r3   r4   r5   r6   r2   Successfully created  on the Hub.zYour repo is now available at N)r   create_repovaluer   r	   boldr0   )	r0   r1   r2   r3   r4   r5   r6   apirepo_urls	            r   repo_creater@   H   s    @ 5
!
!
!C/+   H 

K$)H,<"="=
K
K
KLLL	
@49X+>+>
@
@AAAAAr!   deletezhf repos delete my-model
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 )z>Delete a repo from the Hub. This is an irreversible operation.r8   )r0   r1   rB   Successfully deleted r:   N)r   delete_repor<   r   r	   r=   )r0   r1   r4   rB   r>   s        r   repo_deleterF   v   sf     5
!
!
!COO/    
 

B$)G"4"4
B
B
BCCCCCr!   movez;hf repos move old-namespace/my-model new-namespace/my-modelfrom_idto_idc                     t          |          }|                    | ||j                   t          dt	          j        |            dt	          j        |           d           dS )z8Move a repository from a namespace to another namespace.r8   )rH   rI   r1   zSuccessfully moved z to r:   N)r   	move_repor<   r   r	   r=   )rH   rI   r4   r1   r>   s        r   	repo_moverL      sx     5
!
!
!CMM/    
 

V	' 2 2
V
V	%8H8H
V
V
VWWWWWr!   settingsz$hf repos settings my-model --privatez'hf repos settings my-model --gated auto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 )z$Update the settings of a repository.r8   N)r0   rN   r3   r1   z%Successfully updated the settings of r:   )r   update_repo_settingsr<   r   r	   r=   )r0   rN   r3   r4   r1   r>   s         r   repo_settingsrQ      sv    2 5
!
!
!C#-u{{/	     

R$)G2D2D
R
R
RSSSSSr!   zdelete-files)z'hf repos delete-files my-model file.txtz'hf repos delete-files my-model "*.json"z&hf repos delete-files my-model folder/patternszXGlob patterns to match files to delete. Based on fnmatch, '*' matches files recursively.revisioncommit_messagez9The summary / title / first line of the generated commit.commit_descriptionz(The description of the generated commit.	create_prz7Whether to create a new Pull Request for these changes.c           	          t          |          }|                    || |j        ||||          }	t          d|	 d           dS )z$Delete files from a repo on the Hub.r8   )delete_patternsr0   r1   rS   rT   rU   rV   z+Files correctly deleted from repo. Commit: .N)r   delete_filesr<   r   )
r0   rR   r1   rS   rT   rU   rV   r4   r>   urls
             r   repo_delete_filesr\      sh    N 5
!
!
!C


 /%-   C 

>
>
>
>?????r!   z#hf repos branch create my-model devz5hf repos branch create my-model dev --revision abc123z!The name of the branch to create.z?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 )z*Create a new branch for a repo on the Hub.r8   )r0   r$   rS   r1   r5   r9    branch on  N)r   create_branchr<   r   r	   r=   )r0   r$   rS   r4   r1   r5   r>   s          r   branch_createra      s    4 5
!
!
!C/     

f$)F"3"3
f
f	
f
fRVR[\cRdRd
f
fgggggr!   z#hf repos branch delete my-model devz!The name of the branch to delete.c           
          t          |          }|                    | ||j                   t          dt	          j        |           d|j         dt	          j        |                       dS )z'Delete a branch from a repo on the Hub.r8   )r0   r$   r1   rD   r^   r_   N)r   delete_branchr<   r   r	   r=   )r0   r$   r4   r1   r>   s        r   branch_deleterd     s     5
!
!
!C/    
 

f$)F"3"3
f
f	
f
fRVR[\cRdRd
f
fgggggr!   z!hf repos tag create my-model v1.0z4hf repos tag create my-model v1.0 -m "First release"zThe name of the tag to create.messagez-mz	--messagez%The description of the tag to create.c           
      v   |j         }t          |          }t          dt          j        |           d| dt          j        |                       	 |                    | ||||           n# t          $ r-}t          |                                 d|  d          |d}~wt          $ r}t          d	| d          |d}~wt          $ r-}|j        j        d
k    rt          d| d|  d          | d}~ww xY wt          dt          j        |           dt          j        |                       dS )zCreate a tag for a repo.r8   zYou are about to create tag  on r_   )r0   r"   tag_messagerS   r1    '' not found.Nz
Revision 'i  Tag 'z' already exists on ''.Tag z created on )r<   r   r   r	   r=   
create_tagr   r   
capitalizer   r   responsestatus_code)	r0   r"   re   rS   r4   r1   repo_type_strr>   es	            r   
tag_creatert   /  s   8 OM
5
!
!
!C	
a3
a
a]
a
aTYW^M_M_
a
abbb	wCWxcpqqqq" V V V-2244MMMMMNNTUU  C C C:H:::;;B   :!S((H3HHWHHHIIqP 

A3
A
ATYw-?-?
A
ABBBBBs0   A0 0
C=:(B""C=/CC=(C88C=listzhf repos tag list my-modelc                    |j         }t          |          }	 |                    | |          }n:# t          $ r-}t	          |                                 d|  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 )zList tags for a repo.r8   )r0   r1   ri   rj   Nr   zNo tags found)codez	Tags for r_   :)r<   r   list_repo_refsr   r   ro   lentagsr   typerExitr	   r=   r#   )r0   r4   r1   rr   r>   refsrs   ts           r   tag_listr   [  s    OM
5
!
!
!CV!!']!KK" V V V-2244MMMMMNNTUUV
49~~oja    	
;m
;
;di&8&8
;
;
;<<<Y  af s   1 
A((A##A(z!hf repos tag delete my-model v1.0zThe name of the tag to delete.yesz-yz--yesz"Answer Yes to prompt automaticallyc           
         |j         }t          dt          j        |           d| dt          j        |                       |sGt	          d                                          }|dvr"t          d           t          j                    t          |          }	 |	                    | ||           n^# t          $ r-}t          |                                 d	|  d
          |d}~wt          $ r}t          d| d|  d          |d}~ww xY wt          dt          j        |           dt          j        |                       dS )zDelete a tag for a repo.zYou are about to delete tag rg   r_   zProceed? [Y/n] ) yr   Abortr8   )r0   r"   r1   ri   rj   Nrk   z' not found on 'rl   rm   z deleted on )r<   r   r	   r=   inputlowerr|   r}   r   
delete_tagr   r   ro   r   )	r0   r"   r   r4   r1   rr   choicer>   rs   s	            r   
tag_deleter   p  s   * OM	
a3
a
a]
a
aTYW^M_M_
a
abbb ())//11)))'NNN*,,
5
!
!
!CHwC=IIII" V V V-2244MMMMMNNTUU  H H H?s??G???@@aGH	
A3
A
ATYw-?-?
A
ABBBBBs$   B7 7
D(C))D6DD)1__doc__enumr   typingr   r   r|   huggingface_hub.errorsr   r   r   r   huggingface_hub.utilsr	   
_cli_utilsr   r   r   r   r   r   r   r   	repos_clicallbackContextr    tag_cli
branch_cli	add_typerstrEnumr&   commandmodelOptionboolr@   rF   rL   rQ   ru   Argumentr\   ra   rd   rt   r   r   r-   r!   r   <module>r      s|
     



 & & & & & & & &  k k k k k k k k k k k k & & & & & &	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 M9:::	 400
 
4 
 
 
 10
 -A
B
B
B] HIII
 	  G%  ( ( ( 	  JX  . . .    3	    "B    &^ 	 	 	-$B $B$B$B X	
 	
 	
	$B $B $B @	
 	
 	
	$B" ! C	
 	
 	
	#$B. 
/$B $B $B $BN 8'A&BCC &^ 	D DDD D P	
 	
 	
		D 
D D D DCD* 6%b$cdd %^	X XXX X 	X
 
X X X edX  .1    	 	%^T TT7	
 	
 	
	T <	
 	
 	
	T T T  
!T T T T8        &^  	 	 	9)@ )@)@S	k	
 	
 	
	)@ )@ )@ L	
 	
 	
	)@  ";	
 	
 	
	!)@, J	
 	
 	
	-)@8 9)@: 
;)@ )@ )@ )@X -?    !%^ 	!h hh4	
 	
 	
	h h h h R	
 	
 	
	h" 
#h h h h< H(M'NOO %^h hh4	
 	
 	
	h h h 
h h h POh* 	+>   , 	 %^%"C "C"C	1	
 	
 	
	
"C 8	
 	
 	
	"C  !"C" #"C$ %"C& 
'"C "C "C "CJ 	#?"@AA %^   
	   BA( 	%H$IJJ  	%^#"C "C"C	1	
 	
 	
	
"C 
5	
 	
 	
	
"C  !"C" #"C$ 
%"C "C "C KJ"C "C "Cr!   