Ë
    rPêj•/  ã                   óž  — d Z ddlZddlZddlZddlmZ ddlZddlmZm	Z	 ddl
mZ ddl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 dd
lmZmZ ddlmZ  e	j<                  e«      Z g d¢Z!	 	 	 	 	 	 	 	 	 	 	 	 	 d(dedee"dz   ed¬«      f   dee"dz   ed¬«      f   dedededee#e"   dz   ed¬«      f   dee#e"   dz   ed¬«      f   dee#e"   dz   ed¬«      f   dee"dz   ed¬«      f   dee"dz   ed¬«      f   d ee$ ed!¬«      f   d"ee%dz   ed#¬«      f   d$ed%dfd&„Z&de"de"dz  de"dz  de#e"   dz  d%e'e"e"e#e"   dz  f   f
d'„Z(y))z7Contains command to upload a repo or file with the CLI.é    N)Ú	Annotated)Ú	constantsÚlogging)ÚCommitScheduler)ÚCLIErrorÚRevisionNotFoundError)Úparse_hf_urié   )Ú
PrivateOptÚ	RepoIdArgÚRepoTypeÚRepoTypeOptionalOptÚRevisionOptÚTokenOptÚ
get_hf_api)ÚArgumentÚOption)Úout)zhf upload my-cool-model . .z:hf upload Wauplin/my-cool-model ./models/model.safetensorszChf upload Wauplin/my-cool-dataset ./data /train --repo-type=datasetzrhf upload Wauplin/my-cool-model ./models . --commit-message="Epoch 34/50" --commit-description="Val accuracy: 68%"z?hf upload bigcode/the-stack . . --repo-type dataset --create-prÚ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.ÚeveryzNIf set, a background job is scheduled to create commits every `every` minutes.ÚtokenÚreturnc                 óÂ  ‡ ‡‡‡‡‡	‡
‡‡‡‡‡‡‡— ‰�‰dk  rt        j                  dd¬«      ‚‰ j                  t        j                  «      r |�t        d‰ › d�«      ‚‰�t        d‰ › d�«      ‚t        ‰ «      }|j                  rt        d	«      ‚|j                  |j                  |j                  cŠ ŠŠ|j                  rI|�t        d
|j                  › d|› d�«      ‚|j                  }n|xs t        j                  j                  Št        |¬«      Št!        ‰ |||¬«      \  ŠŠŠdt"        fˆˆ
ˆ	ˆˆˆˆˆˆ ˆˆˆˆˆfd„} |«       }t%        j&                  d|¬«       y)z´Upload a file or a folder to the Hub.

    Folders with many files are split into several commits. If a folder upload is interrupted, re-run the same command
    to resume it.
    Nr   z --every must be a positive valuer"   )Ú
param_hintz3'--repo-type' cannot be used with an 'hf://' URI ('z').z2'--revision' cannot be used with an 'hf://' URI ('z@Buckets are not supported by `hf upload`. Use `hf sync` instead.z)Cannot combine a path in the hf:// URI ('z&') with the `path_in_repo` argument (')r#   )r   r   r   r   r$   c                  ó
  •— t         j                  j                  ‰«      r‰�3t        ‰«      dkD  r%t	        ‰t
        «      rt        j                  d«       ‰�#t        ‰«      dkD  rt        j                  d«       ‰�#t        ‰«      dkD  rt        j                  d«       ‰��%t         j                  j                  ‰«      r†t         j                  j                  ‰«      } t         j                  j                  ‰«      }‰j                  d«      \  }}}|dd|fvr&t        j                  d|r|dz   nd|z   › d	‰› d
�«       |g}g }n-‰} ‰}‰}‰}‰�#t        ‰«      dkD  rt        j                  d«       t        | ‰‰‰|||‰‰‰	¬«
      }t        j                  d‰› d|j                  › d�«       	 	 t!        j"                  d«       Œt         j                  j                  ‰«      s.t         j                  j)                  ‰«      st+        d‰› d�«      ‚‰	j-                  ‰‰d‰‰dk(  rdnd ¬«      j                  }‰�‰s	 ‰	j/                  |‰‰¬«       t         j                  j                  ‰«      r‰	j9                  ‰‰|‰‰‰‰
‰¬«      S ‰	j;                  ‰‰|‰‰‰‰
‰‰‰‰¬«      S # t$        $ r |j'                  «        Y yw xY w# t0        $ r1 t2        j5                  d‰› d�«       ‰	j7                  |‰‰d¬«       Y Œ¬w xY w)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.ú/Ú ú.zMScheduled uploads keep the local file name, so the file will be uploaded as 'z' rather than 'z='. Rename the local file to upload it under a different name.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 Téd   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   Úbranchr2   )Ú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ÚbasenameÚ
rpartitionr   Úwarningr   Útextr   ÚtimeÚsleepÚKeyboardInterruptÚstopÚisdirÚFileNotFoundErrorÚcreate_repoÚ	repo_infor   ÚloggerÚinfoÚcreate_branchÚupload_fileÚupload_folder)r+   ÚfilenameÚpiÚ_Údest_filenamer,   r-   Ú	schedulerÚcreatedÚapir    r   r!   r   r"   r   r   r   Úrepo_type_strÚresolved_includeÚresolved_local_pathÚresolved_path_in_repor   s            €€€€€€€€€€€€€€ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/huggingface_hub/cli/upload.pyÚ
run_uploadzupload.<locals>.run_uploadš   s2  ø€ Ü�7‰7�>‰>Ð-Ô.ØÐ+´Ð4DÓ0EÈÒ0IÌjÐYiÔkoÔNpÜ—‘ÐSÔTØÐ"¤s¨7£|°aÒ'7Ü—‘ÐSÔTØÐ!¤c¨&£k°A¢oÜ—‘ÐRÔSð Ñô �w‰w�~‰~Ð1Ô2ô
 !Ÿg™gŸo™oÐ.AÓB�ÜŸ7™7×+Ñ+Ð,?Ó@�Ø'<×'GÑ'GÈÓ'LÑ$��A�}à ¨¨S°(Ð(;Ñ;Ü—K‘KðÙ*,˜b 3šh°"¸Ñ@ÐAÀÐQfÐPgð hVðVôð
 #+ �Ø"$‘à1�Ø*�Ø!1�Ø")�ØÐ%¬#¨f«+¸ª/Ü—M‘MÐ"\Ô]ä'Ø'ØØ'Ø!Ø-Ø /ØØØØôˆIô �H‰HÐ0°°°|ÀI×DUÑDUÐCVÐVWÐXÔYð4ØÜ—J‘J˜s”Oð ô �w‰w�~‰~Ð1Ô2¼2¿7¹7¿=¹=ÐI\Ô;]Ü#Ð&BÐCVÐBWÐWYÐ$ZÓ[Ð[Ø—/‘/ØØ#ØØØ"/°7Ò":‘hÀð "ó 
÷ ‰'ð 	ð Ð©	ðlØ—‘ g¸ÐQY�ÔZô �7‰7�>‰>Ð-Ô.Ø—?‘?Ø 3Ø2ØØ'Ø!Ø-Ø#5Ø#ð #ó 	ð 	ð × Ñ Ø+Ø.ØØ#ØØ)Ø1ØØ+Ø#Ø"ð !ó 
ð 	
øôQ %ò 4Ø—‘Ô Ù3ð4ûô* )ò lÜ—‘˜h x jÐ0KÐLÔMØ×!Ñ!¨'¸]ÐS[ÐfjÐ!Ökðlús$   Æ1J) ÉK Ê)KËKË7LÌLÚUploaded)Úurl)ÚclickÚBadParameterÚ
startswithr   ÚHF_PROTOCOLr   r	   Ú	is_bucketÚidÚtyper   r   r   ÚmodelÚvaluer   Ú_resolve_upload_pathsÚstrr   Úresult)r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Úurir]   rk   rW   rX   rY   rZ   r[   s   `   `` ``````    @@@@@r\   Úuploadrm   5   sz  ÿý€ ðF Ð˜U ašZÜ× Ñ Ð!CÐPWÔXÐXð ×Ñœ)×/Ñ/Ô0ØÐ ÜÐPÐQXÐPYÐY\Ð]Ó^Ð^ØÐÜÐOÐPWÈyÐX[Ð\Ó]Ð]Ü˜7Ó#ˆØ�=Š=ÜÐ]Ó^Ð^Ø+.¯6©6°3·8±8¸S¿\¹\Ð(ˆ� Ø×ÒØÐ'ÜØ?À×@PÑ@PÐ?QÐQwð  yEð  xFð  FIð  Jóð ð ×+Ñ+‰Là"Ò4¤h§n¡n×;Ñ;ˆä
˜5Ô
!€Cô DYØ J¸\ÐSZôDÑ@ÐÐ.Ð0@ðj
œ÷ j
÷ j
ò j
ñX ‹\€FÜ‡J�Jˆz˜vÖ&ó    c                 ó<  ‡— | j                  d«      d   }|}‰�Xt        j                  j                  ‰«      s9t	        ˆfd„dD «       «      r%|�t        d«      ‚|�|dk7  rt        d«      ‚dd‰gfS ‰€$t        j                  j                  |«      r|||fS ‰€$t        j                  j                  |«      r|d|fS ‰€t        d|› d	�«      ‚|€At        j                  j                  ‰«      r"‰t        j                  j                  ‰«      |fS |€‰d|fS ‰||fS )
Nr(   éÿÿÿÿc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w)N© )Ú.0Úcr   s     €r\   ú	<genexpr>z(_resolve_upload_paths.<locals>.<genexpr>  s   øè ø€ ÒHrÐ]^ÈÈjÌÑHrùs   ƒ)Ú*ú?ú[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.)	Úsplitr7   r8   ÚexistsÚanyÚ
ValueErrorr9   rH   r@   )r   r   r   r   Ú	repo_namerY   s    `    r\   ri   ri   
  s2  ø€ ð —‘˜cÓ" 2Ñ&€IØÐð Ð¤b§g¡g§n¡n°ZÔ&@ÄSÓHrÐbqÔHrÔErØÐÜÐXÓYÐYØÐ#¨¸Ò(;ÜÐ[Ó\Ð\Ø�C˜*˜Ð%Ð%àÐœbŸg™gŸn™n¨YÔ7Ø˜)Ð%5Ð5Ð5ØÐœbŸg™gŸm™m¨IÔ6Ø˜#Ð/Ð/Ð/ØÐÜ˜1˜Y˜KÐ'iÐjÓkÐkàÐ¤§¡§¡¨zÔ :Øœ2Ÿ7™7×+Ñ+¨JÓ7Ð9IÐIÐIØÐØ˜3Ð 0Ð0Ð0Ø�|Ð%5Ð5Ð5rn   )NNNNNNNNNNFNN))Ú__doc__r7   rD   r=   Útypingr   r`   Úhuggingface_hubr   r   Ú!huggingface_hub._commit_schedulerr   Úhuggingface_hub.errorsr   r   Úhuggingface_hub.utilsr	   Ú
_cli_utilsr   r   r   r   r   r   r   Ú
_frameworkr   r   Ú_outputr   Ú
get_loggerÚ__name__rL   ÚUPLOAD_EXAMPLESrj   r<   ÚboolÚfloatrm   Útupleri   rr   rn   r\   ú<module>rŽ      s¢  ðñ >ã 	Û Û Ý ã ç .Ý =ß BÝ .÷÷ ñ ÷ )Ý ð 
ˆ×	Ñ	˜HÓ	%€ò€ð  	ð 	Ø%)Ø Øð 	ð 	ð 	ð 	ð 	ð 	ð 	ØñwR'ØðR'àØˆd‰
ÙØ~ô	
ð	ñðR'ð Øˆd‰
ÙØoô	
ð	ñðR'ð #ðR'ð ðR'ð  ð!R'ð" ØˆS‰	�DÑÙØ:ô	
ð	ñð#R'ð. ØˆS‰	�DÑÙØAô	
ð	ñð/R'ð: ØˆS‰	�DÑÙØWô	
ð	ñð;R'ðF Øˆd‰
ÙØLô	
ð	ñðGR'ðR "Øˆd‰
ÙØ;ô	
ð	ñðSR'ð^ ØÙØCô	
ð	ñð_R'ðj Ø�‰ÙØaô	
ð	ñðkR'ðv ðwR'ðx 
óyR'ðj6Øð6Ø!$ t¡ð6Ø;>À¹:ð6ØPTÐUXÑPYÐ\`ÑP`ð6à
ˆ3��T˜#‘Y Ñ%Ð%Ñ&ô6rn   