Spaces:
Sleeping
Sleeping
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import os | |
import shutil | |
from os import environ as env | |
from datasets import load_dataset | |
def create_task_projects(): | |
dataset = load_dataset(env['HF_DATASET'], split='test') | |
base_dir = 'hardhat' | |
for row in dataset: | |
task_id = row['task_id'] | |
test_content = row['test'] | |
canonical_solution = row['canonical_solution'] | |
task_dir = os.path.join('tasks', task_id.replace('/', '_')) | |
if os.path.exists(task_dir): | |
shutil.rmtree(task_dir) | |
os.makedirs(task_dir) | |
for item in os.listdir(base_dir): | |
if item == 'hardhat.config.js': | |
continue | |
src = os.path.join(base_dir, item) | |
dst = os.path.join(task_dir, item) | |
os.symlink(os.path.abspath(src), dst) | |
shutil.copy(os.path.join(base_dir, 'hardhat.config.js'), task_dir) | |
os.makedirs(os.path.join(task_dir, 'contracts'), exist_ok=True) | |
os.makedirs(os.path.join(task_dir, 'test'), exist_ok=True) | |
with open(os.path.join(task_dir, 'contracts', 'Task.sol'), 'w') as f: | |
f.write(canonical_solution) | |
with open(os.path.join(task_dir, 'test', 'Task.js'), 'w') as f: | |
f.write(test_content) | |
if __name__ == '__main__': | |
create_task_projects() | |