
    5pj                    ~    S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	J
r
JrJrJrJrJr  SS	KJrJr   " S
 S\	5      rg)u;   ``ms upload`` command — upload a single file or a folder.    )annotationsN)Path   )RepoType   )
CLICommand
SubParsersadd_repo_type_argerrorinfomake_apisuccess)PatternActionadd_subcmd_token_endpointc                  @    \ rS rSrSr\SS j5       rS	S jrS
S jrSr	g)UploadCommand   zUpload a local path to a repository.

The local path is auto-detected as a file or directory. ``path_in_repo``
defaults to the basename for files, or to the repo root for folders.
c           	         U R                  SSS9nUR                  SSS9  UR                  SSS SS	9  UR                  S
SS SS	9  [        U[        R                  R
                  [        R                  R
                  /[        R                  R
                  SS9  UR                  SSS S9  UR                  SSS SS9  UR                  SS SS9  UR                  SSS[        S SS9  UR                  SSS[        S SS9  UR                  S S![        S S"S#9  UR                  5       nUR                  S$S%S&S'S(S)9  UR                  S*S%S+S,S-9  UR                  S.S/S&SS0S)9  UR                  S1S2S&SS3S)9  [        U5        UR                  [        S49  g )5Nuploadz(Upload a file or folder to a repository.)helprepo_idz"Canonical 'owner/name' identifier.
local_path?zELocal file or folder to upload (default: auto-detect from repo name).)nargsdefaultr   path_in_repoz>Destination path inside the repo. Defaults to basename / root.F)choicesr   requiredz--commit-messagecommit_message)destr   z--commit-descriptioncommit_descriptionz%Description for the generated commit.)r    r   r   z
--revisionz Target branch (default: master).)r   r   z	--includeallow_patterns+z*Glob to include (folder mode). Repeatable.)r    r   actionr   r   z	--excludeignore_patternsz*Glob to exclude (folder mode). Repeatable.z--max-workersmax_workerszConcurrency for folder uploads.)r    typer   r   z--use-cache	use_cache
store_trueTz<Use .ms_upload_cache for resumable folder uploads (default).)r    r$   r   r   z
--no-cachestore_falsez&Disable upload cache / resume support.)r    r$   r   z--disable-tqdmdisable_tqdmzDisable progress bars.z--syncsync_remote_repozADelete remote files not present locally after upload (sync mode).)_command)
add_parseradd_argumentr
   r   MODELvalueDATASETr   intadd_mutually_exclusive_groupr   set_defaultsr   )
subparserspcache_groups      U/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/modelscope_hub/cli/upload.pyregisterUploadCommand.register   s   !!; " 
 	
y'KL	X	 	 	
 	
Q	 	 	
 	^^))8+;+;+A+ABNN((		
 	
)0@$O	"%8	 	 	
 	
|T8Z[	! = 	 	
 	
" = 	 	
 	
2 	 	
 446  O 	! 	
 	   9	 	! 	
 	
) 	 	
 	
#T 	 	
 	"!$	.    c                x   [        U R                  5      nU R                  5       u  p#[        U5      R	                  5       nUR                  5       (       d  [        SU S35        [        S5      eUR                  5       (       a  U=(       d    UR                  n[        SU SU R                  R                   SU 35        UR                  U R                  R                  U R                  R                  [        U5      UU R                  R                  U R                  R                   U R                  R"                  U R                  R$                  S9  ['        S5        g U=(       d    S	n[        S
U SU R                  R                   SU=(       d    S 35        UR)                  U R                  R                  U R                  R                  [        U5      UU R                  R                  U R                  R                   U R                  R"                  U R                  R*                  U R                  R,                  U R                  R.                  U R                  R0                  U R                  R$                  U R                  R2                  S9nUc  ['        S5        g ['        S5        g )N'z' is not a valid local pathr   zUploading file u    → :)r   r!   revisionr+   zUpload complete. zUploading folder /)
r   r   r!   r@   r"   r%   r&   r(   r+   r,   z/All files already committed, nothing to upload.zFolder upload complete.)r   args_resolve_pathsr   
expanduserexistsr   
SystemExitis_filenamer   r   upload_file	repo_typestrr   r!   r@   r+   r   upload_folderr"   r%   r&   r(   r,   )selfapir   r   localresults         r9   executeUploadCommand.executen   s   tyy!#'#6#6#8 
Z ++-||~~AeW789Q-==??'55::L?5'tyy/@/@.A<.QROO		!!		##E
#yy77#'99#?#?++!YY33  	 &'#)r uTYY->->,?qATQT@UVW""IIIIJ%9933#yy;;YY''9933 II55		--ii))//!YY77 # 
 >EF-.r<   c                   U R                   R                  nU R                   R                  nSU R                   R                  ;   a(  U R                   R                  R	                  S5      S   OSnUb  X4$ U(       a'  [
        R                  R                  U5      (       a  X34$ U(       a(  [
        R                  R                  U5      (       a  US4$ SU4$ )z?Resolve local_path and path_in_repo with legacy smart defaults.rB   rA   .)	rC   r   r   r   splitospathisfileisdir)rN   r   r   	repo_names       r9   rD   UploadCommand._resolve_paths   s    YY))
yy--8;tyy?P?P8PDII%%++C04VX	!++ 	22''y11c>!L  r<    N)r6   r	   returnNone)r_   r`   )r_   ztuple[str, str | None])
__name__
__module____qualname____firstlineno____doc__staticmethodr:   rR   rD   __static_attributes__r^   r<   r9   r   r      s)     W/ W/r./`!r<   r   )re   
__future__r   rX   pathlibr   	constantsr   baser   r	   r
   r   r   r   r   compatr   r   r   r^   r<   r9   <module>rm      s.    A " 	    [ [ [ <`!J `!r<   