|
import io |
|
import json |
|
import os |
|
import random |
|
from datetime import datetime |
|
|
|
from huggingface_hub import HfApi |
|
from tqdm import tqdm |
|
|
|
|
|
NUM_USERS = 1000 |
|
NUM_SUBMISSIONS = 10 |
|
MIN_SCORE = 0.0 |
|
MAX_SCORE = 1.0 |
|
START_DATE = datetime(2022, 1, 1, 0, 0, 0) |
|
END_DATE = datetime(2022, 11, 23, 0, 0, 0) |
|
COMPETITION_ID = os.environ.get("COMPETITION_ID") |
|
AUTOTRAIN_TOKEN = os.environ.get("AUTOTRAIN_TOKEN") |
|
|
|
if __name__ == "__main__": |
|
|
|
|
|
|
|
for i in tqdm(range(NUM_USERS)): |
|
name = f"test_{i}" |
|
|
|
id = "".join(random.choices("0123456789abcdef", k=24)) |
|
submissions = [] |
|
for j in range(NUM_SUBMISSIONS): |
|
date = START_DATE + (END_DATE - START_DATE) * random.random() |
|
time = date.strftime("%H:%M:%S") |
|
date = date.strftime("%Y-%m-%d") |
|
submission_id = "".join(random.choices("0123456789abcdef", k=36)) |
|
submission_comment = "" |
|
status = "done" |
|
selected = False |
|
public_score = MIN_SCORE + (MAX_SCORE - MIN_SCORE) * random.random() |
|
private_score = MIN_SCORE + (MAX_SCORE - MIN_SCORE) * random.random() |
|
submission = { |
|
"date": date, |
|
"time": time, |
|
"submission_id": submission_id, |
|
"submission_comment": submission_comment, |
|
"status": status, |
|
"selected": selected, |
|
"public_score": public_score, |
|
"private_score": private_score, |
|
} |
|
submissions.append(submission) |
|
|
|
submission = { |
|
"name": name, |
|
"id": id, |
|
"submissions": submissions, |
|
} |
|
fname = f"{id}.json" |
|
user_submission_info_json = json.dumps(submission) |
|
user_submission_info_json_bytes = user_submission_info_json.encode("utf-8") |
|
user_submission_info_json_buffer = io.BytesIO(user_submission_info_json_bytes) |
|
api = HfApi() |
|
api.upload_file( |
|
path_or_fileobj=user_submission_info_json_buffer, |
|
path_in_repo=fname, |
|
repo_id=COMPETITION_ID, |
|
repo_type="dataset", |
|
token=AUTOTRAIN_TOKEN, |
|
) |
|
|