
    o iw,              #          d Z ddl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	 ddl
mZ ddlm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  e	j        e          Zddej        dd
dddddd
ddd
fdedeee          ej        d          f         deee          ej        d          f         dedededeeee                   ej         d          f         deeee                   ej         d          f         deeee                   ej         d          f         deee          ej         d          f         deee          ej         d          f         dee! ej         d          f         d eee"          ej         d!          f         d"ed#ee! ej         d$          f         d%df d&Z#dedee         dee         deee                  d%e$eeeee                  f         f
d'Z%dS )(a  Contains command to upload a repo or file with the CLI.

Usage:
    # Upload file (implicit)
    hf upload my-cool-model ./my-cool-model.safetensors

    # Upload file (explicit)
    hf upload my-cool-model ./my-cool-model.safetensors  model.safetensors

    # Upload directory (implicit). If `my-cool-model/` is a directory it will be uploaded, otherwise an exception is raised.
    hf upload my-cool-model

    # Upload directory (explicit)
    hf upload my-cool-model ./models/my-cool-model .

    # Upload filtered directory (example: tensorboard logs except for the last run)
    hf upload my-cool-model ./model/training /logs --include "*.tfevents.*" --exclude "*20230905*"

    # Upload with wildcard
    hf upload my-cool-model "./model/training/*.safetensors"

    # Upload private dataset
    hf upload Wauplin/my-cool-dataset ./data . --repo-type=dataset --private

    # Upload with token
    hf upload Wauplin/my-cool-model --token=hf_****

    # Sync local Space with Hub (upload new files, delete removed files)
    hf upload Wauplin/space-example --repo-type=space --exclude="/logs/*" --delete="*" --commit-message="Sync local Space with Hub"

    # Schedule commits every 30 minutes
    hf upload Wauplin/my-cool-model --every=30
    N)	AnnotatedOptional)logging)CommitScheduler)RevisionNotFoundError)disable_progress_barsenable_progress_bars   )
PrivateOpt	RepoIdArgRepoTypeRepoTypeOptRevisionOptTokenOpt
get_hf_apiFrepo_id
local_pathzkLocal path to the file or folder to upload. Wildcard patterns are supported. Defaults to current directory.)helppath_in_repoz\Path of the file or folder in the repo. Defaults to the relative path of the file or folder.	repo_typerevisionprivateincludez'Glob patterns to match files to upload.excludez.Glob patterns to exclude from files to upload.deletezDGlob patterns for file to be deleted from the repo while committing.commit_messagez9The summary / title / first line of the generated commit.commit_descriptionz(The description of the generated commit.	create_prz0Whether to upload content as a new Pull Request.everyzMf set, a background job is scheduled to create commits every `every` minutes.tokenquietzADisable progress bars and warnings; print only the returned path.returnc                 .   	
 dk    rt          j        dd          |j        t          |          t	           |||          \  dt
          f
	 fd	}|rtt                       t          j                    5  t          j	        d
           t           |                       ddd           n# 1 swxY w Y   t                       dS t           |                       t          j                     dS )zLUpload a file or a folder to the Hub. Recommended for single-commit uploads.Nr   z --every must be a positive valuer   )
param_hint)r    )r   r   r   r   r"   c                     t           j                                      r<t                    dk    r)t	          t
                    rt          j        d           't                    dk    rt          j        d           
't          
          dk    rt          j        d           Gt           j                                      rTt           j                                      } 	                              rd t                              n}g}g }nd} }t	          t
                    rpg nt	          t                    rgng }pg }
't          
          dk    rt          j        d           t          | |||
  
        }t          d d|j         d	           	 	 t          j        d           # t           $ r |                                 Y dS w xY wt           j                                      s2t           j                                      st'          d d                              d
dk    rdnd           j        }c	sa	                     |           nG# t,          $ r: t.                              d d                               |d
           Y nw xY wt           j                                      r                    |	          S                     |	t	          t
                    rnt	          t                    rgnd 
          S )Nr   z3Ignoring --include since a single file is uploaded.z3Ignoring --exclude since a single file is uploaded.z2Ignoring --delete since a single file is uploaded.z8Ignoring --delete when uploading with scheduled commits.)
folder_pathr   r   r   allow_patternsignore_patternsr   r   r   hf_apizScheduling commits every z minutes to .Td   zStopped scheduled commits.zNo such file or directory: 'z'.spacegradio)r   r   exist_okr   	space_sdk)r   r   r   zBranch 'z' not found. Creating it...)r   r   branchr.   )path_or_fileobjr   r   r   r   r   r   r   )r&   r   r   r   r   r   r   r   r'   r(   delete_patterns)ospathisfilelen
isinstancelistwarningswarndirnameendswithstrr   printr   timesleepKeyboardInterruptstopisdirFileNotFoundErrorcreate_repo	repo_infor   loggerinfocreate_branchupload_fileupload_folder)r&   pir'   r(   	schedulercreatedapir   r   r   r   r   r   r   r   repo_type_strresolved_includeresolved_local_pathresolved_path_in_repor   s         Z/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/huggingface_hub/cli/upload.py
run_uploadzupload.<locals>.run_upload   s+   7>>-.. 	T+4D0E0E0I0IjYikoNpNp0ISTTT"s7||a'7'7STTT!c&kkAooRSSS w~~122 ^ goo.ABB -556IJJ/)*ES1D-E-E,E*EFF. 
 #6!6791* ""2D99$* ""2C88*++  #*-R%#f++//M"\]]]'''!- /  I UeUUARUUUVVV4$JsOOO$$ 4 4 4   3334
 w~~122 	\27==I\;];] 	\#$ZCV$Z$Z$Z[[[//#"/7":":hh " 
 
  	 	lgQYZZZZ( l l lLxLLLMMM!!']S[fj!kkkkkl 7>>-.. 
	?? 32'!-#5# # 	 	 	   +.#)1 .55   .44&''#"# ! 
 
 	
s%    G G87G88J AKKignore)typerBadParametervaluer   _resolve_upload_pathsr=   r   r9   catch_warningssimplefilterr>   r	   r   set_verbosity_warning)r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   rU   rO   rP   rQ   rR   rS   s   `   `` ``````   @@@@@rT   uploadr^   C   s   J UaZZ !CPWXXXXOM
5
!
!
!C DYJ\SZD D D@.0@m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
 m
^  ($&& 	  	 !(+++**,,	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	jjll%'''''s   ,CCCc                 4   |                      d          d         }|}It          fddD                       r.|t          d          ||dk    rt          d          ddgfS $t          j                            |          r|||fS $t          j                            |          r|d|fS t          d| d	          |At          j                                      r"t          j                                      |fS |d|fS ||fS )
N/c              3       K   | ]}|v V  	d S )N ).0cr   s     rT   	<genexpr>z(_resolve_upload_paths.<locals>.<genexpr>  s'      %O%O!a:o%O%O%O%O%O%O    )*?[z9Cannot set --include when local_path contains a wildcard.r*   z<Cannot set path_in_repo when local_path contains a wildcard.'zB' is not a local file or folder. Please set local_path explicitly.)splitany
ValueErrorr3   r4   r5   rC   basename)r   r   r   r   	repo_namerQ   s    `    rT   rZ   rZ     sS    c""2&I#%O%O%O%O%O%O%O"O"OXYYY#(;(;[\\\J%%bgnnY77)%555bgmmI66#///jYjjjkkkz : :27++J779III3 000|%555rg   )&__doc__r3   r?   r9   typingr   r   rW   huggingface_hubr   !huggingface_hub._commit_schedulerr   huggingface_hub.errorsr   huggingface_hub.utilsr   r	   
_cli_utilsr   r   r   r   r   r   r   
get_logger__name__rG   modelr=   Argumentr8   Optionboolfloatr^   tuplerZ   rc   rg   rT   <module>r      s     D 
			   & & & & & & & &  # # # # # # = = = = = = 8 8 8 8 8 8 M M M M M M M M g g g g g g g g g g g g g g g g g g 
	H	%	% 	 	%^  	 	 	 	 	 	 	 	CH( H(H(~	
 	
 	
	H( o	
 	
 	
	H( H( H(  !H(" c:	
 	
 	
	#H(. cA	
 	
 	
	/H(: cW	
 	
 	
	;H(F L	
 	
 	
	GH(R ";	
 	
 	
	SH(^ C	
 	
 	
	_H(j `	
 	
 	
	kH(v wH(x T	
 	
 	
	yH(D 
EH( H( H( H(V66!)#6>Fsm6V^_cdg_hVi6
3Xd3i(()6 6 6 6 6 6rg   