|
import json |
|
from validation_submission.validation import validate_individual |
|
import gradio as gr |
|
from huggingface_hub import HfApi |
|
import os |
|
|
|
|
|
def validate_save_individual(data, error_icon, error_box, mode): |
|
individual, error_icon, error_box = validate_individual(data, error_icon, error_box, mode) |
|
if individual: |
|
print("pushing to hugging face") |
|
push_to_dataset_hf(individual.model_dump()) |
|
return error_icon, error_box |
|
|
|
|
|
def push_to_dataset_hf(individual): |
|
token = os.environ.get("HF_TOKEN", None) |
|
api = HfApi(token=token) |
|
import tempfile |
|
|
|
f = tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) |
|
json.dump(individual, f) |
|
f.flush() |
|
f.close() |
|
path_in_repo = f"data/{individual['image_md5']}.json" |
|
api.upload_file( |
|
path_or_fileobj=f.name, |
|
path_in_repo=path_in_repo, |
|
repo_id="SDSC/digiwild-dataset", |
|
repo_type="dataset", |
|
) |
|
|