
    rh                         d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ  ej                  e      Z G d d      Z G d	 d
e	      Zy)a[  Contains command to update or delete files in a repository using the CLI.

Usage:
    # delete all
    hf repo-files delete <repo_id> "*"

    # delete single file
    hf repo-files delete <repo_id> file.txt

    # delete single folder
    hf repo-files delete <repo_id> folder/

    # delete multiple
    hf repo-files delete <repo_id> file.txt folder/ file2.txt

    # delete multiple patterns
    hf repo-files delete <repo_id> file.txt "*.json" "folder/*.parquet"

    # delete from different revision / repo-type
    hf repo-files delete <repo_id> file.txt --revision=refs/pr/1 --repo-type=dataset
    )_SubParsersAction)ListOptional)logging)BaseHuggingfaceCLICommand)HfApic                       e Zd ZddZddZy)DeleteFilesSubCommandNc                 Z   || _         |j                  | _        |j                  | _        |j                  | _        t	        |j
                  d      | _        |j                  | _        |j                  | _        |j                  | _	        |j                  | _
        |j
                  | _        y )Nhf)tokenlibrary_name)argsrepo_id	repo_typerevisionr   r   apipatternscommit_messagecommit_description	create_pr)selfr   s     q/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/huggingface_hub/cli/repo_files.py__init__zDeleteFilesSubCommand.__init__1   sy    	 LL(,'+}}djjtD#'==-1-@-@151H1H#~~$(JJ
    c           	      B   t        j                          | j                  j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                        }t        d| d       t        j                          y )N)delete_patternsr   r   r   r   r   r   z+Files correctly deleted from repo. Commit: .)r   set_verbosity_infor   delete_filesr   r   r   r   r   r   r   printset_verbosity_warning)r   urls     r   runzDeleteFilesSubCommand.run=   s|    ""$hh## MMLLnn]]..#66nn $ 
 	;C5BC%%'r   )returnN)__name__
__module____qualname__r   r$    r   r   r
   r
   0   s    
/(r   r
   c                   "    e Zd Zedefd       Zy)RepoFilesCommandparserc                 @   | j                  dd      }|j                  dd      }|j                  dd      }|j                  d	 
       |j                  dt        d       |j                  ddt        d       |j                  dg ddd       |j                  dt        d       |j                  dt        d       |j                  dt        d       |j                  ddd        |j                  d!t        d"       |j                  t
        
       y )#Nz
repo-filesz"Manage files in a repo on the Hub.)helpz$Action to execute against the files.T)r.   requireddeletez#Delete files from a repo on the Hubc                     t        |       S )N)r
   )r   s    r   <lambda>z6RepoFilesCommand.register_subcommand.<locals>.<lambda>X   s    8Md8S r   )funcr   z9The ID of the repo to manage (e.g. `username/repo-name`).)typer.   r   +z'Glob patterns to match files to delete.)nargsr4   r.   z--repo-type)modeldatasetspacer7   z/Type of the repo to upload to (e.g. `dataset`).)choicesdefaultr.   z
--revisionzAn optional Git revision to push to. It can be a branch name or a PR reference. If revision does not exist and `--create-pr` is not set, a branch will be automatically created.z--commit-messagez9The summary / title / first line of the generated commit.z--commit-descriptionz(The description of the generated commit.z--create-pr
store_truez7Whether to create a new Pull Request for these changes.)actionr.   z--tokenzIA User Access Token generated from https://huggingface.co/settings/tokens)
add_parseradd_subparsersset_defaultsadd_argumentstrr+   )r,   repo_files_parserrepo_files_subparsersdelete_subparsers       r   register_subcommandz$RepoFilesCommand.register_subcommandM   so   "--lAe-f 1 @ @7 !A !
 1;;6 < 
 	%%+S%T%%C&a 	& 	
 	%%:	 	& 	
 	%%1B	 	& 	
 	%%_	 	& 	
 	%%S/j 	& 	
 	%%"3] 	& 	
 	%%,5n 	& 	
 	%%\ 	& 	
 	&&,<&=r   N)r&   r'   r(   staticmethodr   rF   r)   r   r   r+   r+   L   s    2>$5 2> 2>r   r+   N)__doc__argparser   typingr   r   huggingface_hubr   huggingface_hub.commandsr   huggingface_hub.hf_apir   
get_loggerr&   loggerr
   r+   r)   r   r   <module>rP      sF   , ' ! # > ( 
		H	%( (84>0 4>r   