File size: 950 Bytes
f1a6252
a725af0
21dae66
86d2f2e
 
 
f1a6252
a63231d
21dae66
 
 
18350b3
a63231d
86d2f2e
7b05d65
f1a6252
 
86d2f2e
951051a
 
86d2f2e
f1a6252
86d2f2e
 
 
 
f1a6252
4158a85
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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",
    )