o
    8wi                     @   s   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 d dlZd dlmZ d dlmZ d dlmZ 		dded	ed
ee deeeef  def
ddZdddZdS )    )chain)OptionalUnion)
CommitInfoCommitOperationAddCommitOperationDeleteDatasetCardDatasetCardDataHfApiHfFileSystemN)DatasetInfosDict)load_dataset_builder)MetadataConfigsrepo_idconfig_namerevisiontokenreturnc              
   C   s  g }t tjj|d}t| |||d}t|jj  D ]}||}|j	| kr/|
t|jd qt| }	|	jddrK||	jd v rK|	jd | t|	j}
|
r||
|d}t }|
| tjj|v rs|tjj |	jtjj< n	|	jtjjd}t|	j}|r||d}t }|| d|v r|d |	jd< n|	jdd}|
ttjjt|	 d ttjj|d}|j| |d| d	d| d
|d|dd}td|j   |S )a=  Delete a dataset configuration from a [data-only dataset](repository_structure) on the Hub.

    Args:
        repo_id (`str`): ID of the Hub dataset repository, in the following format: `<user>/<dataset_name>` or
            `<org>/<dataset_name>`.
        config_name (`str`): Name of the dataset configuration.
        revision (`str`, *optional*): Branch to delete the configuration from. Defaults to the `"main"` branch.
        token (`bool` or `str`, *optional*): Authentication token for the Hugging Face Hub.

    Returns:
        `huggingface_hub.CommitInfo`
    endpointr   )r   r   )path_in_repoconfig_namesNdataset_info)r   path_or_fileobjzDelete 'z' configz	' config.datasetT)
operationscommit_messagecommit_descriptionr   	repo_typer   	create_prz6You can find your PR to delete the dataset config at: )!r   datasetsconfigHF_ENDPOINTr   r   
data_filesvaluesresolve_pathr   appendr   r   r   loaddatagetremover   from_dataset_card_datapopr	   to_dataset_card_dataMETADATA_CONFIGS_FIELDr   r   REPOCARD_FILENAMEstrencoder
   create_commitprintpr_url)r   r   r   r   r   fsbuilder	data_filedata_file_resolved_pathdataset_cardmetadata_configs_dataset_card_datadataset_infosapicommit_info r@   I/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/datasets/hub.pydelete_from_hub   sZ   







rB   c                 C   s   t tjj|d}|j| dd}|rKg }g }|D ]}|dv rq|dkr(|| q|| q|r:|jd| d|dd |rM|D ]}|j|| d|dd q>d S d S d S )	Nr   r   )r   >   	README.md.gitattributeszdataset_infos.jsonz Delete legacy dataset_infos.json)r   r   r   zDelete data file)r
   r    r!   r"   list_repo_filesr&   delete_file)
dataset_idr   r   hf_api
repo_fileslegacy_json_filer#   filenamer@   r@   rA   _delete_files\   sD   rL   )NN)	itertoolsr   typingr   r   huggingface_hubr   r   r   r   r	   r
   r   datasets.configr    datasets.infor   datasets.loadr   datasets.utils.metadatar   r0   boolrB   rL   r@   r@   r@   rA   <module>   s*    $

H