§
    «˜ºhv   ã                   óº   — d Z ddlZddlmZmZ ddlmZmZ ddlm	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  e	j        e¦  «        Z G d„ de¦  «        ZdS )aº  Contains command to download files from the Hub with the CLI.

Usage:
    huggingface-cli download --help

    # Download file
    huggingface-cli download gpt2 config.json

    # Download entire repo
    huggingface-cli download fffiloni/zeroscope --repo-type=space --revision=refs/pr/78

    # Download repo with filters
    huggingface-cli download gpt2 --include="*.safetensors"

    # Download with token
    huggingface-cli download Wauplin/private-model --token=hf_***

    # Download quietly (no progress bar, no warnings, only the returned path)
    huggingface-cli download gpt2 config.json --quiet

    # Download to local dir
    huggingface-cli download gpt2 --local-dir=./models/gpt2
é    N)Ú	NamespaceÚ_SubParsersAction)ÚListÚOptional)Úlogging)Úsnapshot_download)ÚBaseHuggingfaceCLICommand)Úhf_hub_download)Údisable_progress_barsÚenable_progress_barsé   )Úshow_deprecation_warningc                   óN   — e Zd Zedefd„¦   «         Zdeddfd„Zd	d„Zde	fd„Z
dS )
ÚDownloadCommandÚparserc                 óv  — |                       dd¬¦  «        }|                     dt          d¬¦  «         |                     dt          dd	¬
¦  «         |                     dg d¢dd¬¦  «         |                     dt          d¬¦  «         |                     ddt          d¬¦  «         |                     ddt          d¬¦  «         |                     dt          d¬¦  «         |                     dt          d¬¦  «         |                     dg d¢d¬¦  «         |                     dd d!¬"¦  «         |                     d#d d$¬"¦  «         |                     d%t          d&¬¦  «         |                     d'd d(¬"¦  «         |                     d)t          d*d+¬,¦  «         |                     t
          ¬-¦  «         d S ).NÚdownloadzDownload files from the Hub)ÚhelpÚrepo_idz<ID of the repo to download from (e.g. `username/repo-name`).)Útyper   Ú	filenamesÚ*z>Files to download (e.g. `config.json`, `data/metadata.jsonl`).)r   Únargsr   z--repo-type)ÚmodelÚdatasetÚspacer   z4Type of repo to download from (defaults to 'model').)ÚchoicesÚdefaultr   z
--revisionzPAn optional Git revision id which can be a branch name, a tag, or a commit hash.z	--includez)Glob patterns to match files to download.)r   r   r   z	--excludez0Glob patterns to exclude from files to download.z--cache-dirz9Path to the directory where to save the downloaded files.z--local-dirz·If set, the downloaded file will be placed under this directory. Check out https://huggingface.co/docs/huggingface_hub/guides/download#download-files-to-local-folder for more details.z--local-dir-use-symlinks)ÚautoÚTrueÚFalsezWDeprecated and ignored. Downloading to a local directory does not use symlinks anymore.)r   r   z--force-downloadÚ
store_truezFIf True, the files will be downloaded even if they are already cached.)Úactionr   z--resume-downloadz“Deprecated and ignored. Downloading a file to local dir always attempts to resume previously interrupted downloads (unless hf-transfer is enabled).z--tokenzIA User Access Token generated from https://huggingface.co/settings/tokensz--quietzWIf True, progress bars are disabled and only the path to the download files is printed.z--max-workersé   zEMaximum number of workers to use for downloading files. Default is 8.)r   r   r   )Úfunc)Ú
add_parserÚadd_argumentÚstrÚintÚset_defaultsr   )r   Údownload_parsers     úi/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/huggingface_hub/commands/download.pyÚregister_subcommandz#DownloadCommand.register_subcommand8   s  € à ×+Ò+¨JÐ=ZÐ+Ñ[Ô[ˆØ×$Ò$Ø�CÐ&dð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$Ø�c¨Ð3sð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$ØØ1Ð1Ð1ØØGð	 	%ñ 	
ô 	
ð 	
ð 	×$Ò$ØÝØcð 	%ñ 	
ô 	
ð 	
ð
 	×$Ò$Ø˜s­Ð3^ð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$Ø˜s­Ð3eð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$Ø¥Ð*eð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$ØÝðð	 	%ñ 	
ô 	
ð 	
ð 	×$Ò$Ø&Ø-Ð-Ð-Økð 	%ñ 	
ô 	
ð 	
ð
 	×$Ò$ØØØYð 	%ñ 	
ô 	
ð 	
ð
 	×$Ò$ØØð gð 	%ñ 	
ô 	
ð 	
ð
 	×$Ò$Ø�CÐ&qð 	%ñ 	
ô 	
ð 	
ð 	×$Ò$ØØØjð 	%ñ 	
ô 	
ð 	
ð
 	×$Ò$ØÝØØXð	 	%ñ 	
ô 	
ð 	
ð 	×$Ò$­/Ð$Ñ:Ô:Ð:Ð:Ð:ó    ÚargsÚreturnNc                 óˆ  — |j         | _         |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j        | _        |j	        | _	        |j
        pd | _
        |j        | _        |j        | _        |j        �t          j        dt           ¦  «         d S d S )NzbIgnoring --local-dir-use-symlinks. Downloading to a local directory does not use symlinks anymore.)Útokenr   r   Ú	repo_typeÚrevisionÚincludeÚexcludeÚ	cache_dirÚ	local_dirÚforce_downloadÚresume_downloadÚquietÚmax_workersÚlocal_dir_use_symlinksÚwarningsÚwarnÚFutureWarning)Úselfr/   s     r,   Ú__init__zDownloadCommand.__init__}   s·   € Ø”ZˆŒ
Ø œLˆŒØ$(¤NˆŒØ"œnˆŒØ'+¤}ˆŒØ,0¬LˆŒØ,0¬LˆŒØ(,¬ˆŒØ(,¬ˆŒØ$(Ô$7ˆÔØ/3Ô/CÐ/KÀtˆÔØœ:ˆŒ
Ø $Ô 0ˆÔàÔ&Ð2ÝŒMØtÝñô ð ð ð ð 3Ð2r.   c                 ó¾  — t          dd¦  «         | j        r~t          ¦   «          t          j        ¦   «         5  t          j        d¦  «         t          |                      ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «          d S t          j
        ¦   «          t          |                      ¦   «         ¦  «         t          j        ¦   «          d S )Nzhuggingface-cli downloadzhf downloadÚignore)r   r;   r   r>   Úcatch_warningsÚsimplefilterÚprintÚ	_downloadr   r   Úset_verbosity_infoÚset_verbosity_warning)rA   s    r,   ÚrunzDownloadCommand.run’   s  € Ý Ð!;¸]ÑKÔKÐKàŒ:ð 		,Ý!Ñ#Ô#Ð#ÝÔ(Ñ*Ô*ð (ð (ÝÔ% hÑ/Ô/Ð/Ý�d—n’nÑ&Ô&Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ !Ñ"Ô"Ð"Ð"Ð"åÔ&Ñ(Ô(Ð(Ý�$—.’.Ñ"Ô"Ñ#Ô#Ð#ÝÔ)Ñ+Ô+Ð+Ð+Ð+s   ¹6A;Á;A?ÂA?c                 ó¶  — t          | j        ¦  «        dk    rf| j        �,t          | j        ¦  «        dk    rt          j        d¦  «         | j        �,t          | j        ¦  «        dk    rt          j        d¦  «         t          | j        ¦  «        dk    rLt          | j        | j        | j	        | j        d         | j
        | j        | j        | j        | j        d¬¦
  «
        S t          | j        ¦  «        dk    r| j        }| j        }n	| j        }d }t          | j        | j        | j	        ||| j        | j        | j
        | j        | j        d| j        ¬¦  «        S )Nr   z?Ignoring `--include` since filenames have being explicitly set.z?Ignoring `--exclude` since filenames have being explicitly set.r   zhuggingface-cli)
r   r3   r4   Úfilenamer7   r:   r9   r2   r8   Úlibrary_name)r   r3   r4   Úallow_patternsÚignore_patternsr:   r9   r7   r2   r8   rN   r<   )Úlenr   r5   r>   r?   r6   r
   r   r3   r4   r7   r:   r9   r2   r8   r   r<   )rA   rO   rP   s      r,   rH   zDownloadCommand._download    sY  € åˆtŒ~ÑÔ Ò"Ð"ØŒ|Ð'­C°´Ñ,=Ô,=ÀÒ,AÐ,AÝ”Ð_Ñ`Ô`Ð`ØŒ|Ð'­C°´Ñ,=Ô,=ÀÒ,AÐ,AÝ”Ð_Ñ`Ô`Ð`õ ˆtŒ~ÑÔ !Ò#Ð#Ý"ØœØœ.ØœØœ¨Ô*Øœ.Ø $Ô 4Ø#Ô2Ø”jØœ.Ø.ðñ ô ð õ �”Ñ Ô  AÒ%Ð%Ø!œ\ˆNØ"œlˆOˆOà!œ^ˆNØ"ˆOå Ø”LØ”nØ”]Ø)Ø+Ø Ô0ØÔ.Ø”nØ”*Ø”nØ*ØÔ(ð
ñ 
ô 
ð 	
r.   )r0   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   r-   r   rB   rK   r(   rH   © r.   r,   r   r   7   s‘   € € € € € ØðB;Ð$5ð B;ð B;ð B;ñ „\ðB;ðH˜Yð ¨4ð ð ð ð ð*,ð ,ð ,ð ,ð,
˜3ð ,
ð ,
ð ,
ð ,
ð ,
ð ,
r.   r   )Ú__doc__r>   Úargparser   r   Útypingr   r   Úhuggingface_hubr   Ú"huggingface_hub._snapshot_downloadr   Úhuggingface_hub.commandsr	   Úhuggingface_hub.file_downloadr
   Úhuggingface_hub.utilsr   r   Ú
_cli_utilsr   Ú
get_loggerrR   Úloggerr   rV   r.   r,   ú<module>rb      s  ððð ð0 €€€Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à #Ð #Ð #Ð #Ð #Ð #Ø @Ð @Ð @Ð @Ð @Ð @Ø >Ð >Ð >Ð >Ð >Ð >Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà 0Ð 0Ð 0Ð 0Ð 0Ð 0ð 
ˆÔ	˜HÑ	%Ô	%€ðU
ð U
ð U
ð U
ð U
Ð/ñ U
ô U
ð U
ð U
ð U
r.   