Spaces:
Sleeping
Sleeping
| from dataclasses import dataclass, field | |
| from unittest import ExtendedUnittest | |
| from resource_limit import ResourceLimits | |
| def fix_uts(uts): | |
| uts_fx = [] | |
| for ut in uts: | |
| uts_fx.append({ | |
| "input": ut["input"], | |
| "output": ut["output"], | |
| }) | |
| return uts_fx | |
| class JobData: | |
| language: str | |
| source_code: str | |
| unittests: list[ExtendedUnittest] | |
| compile_cmd: str | None = None | |
| compile_flags: str | None = None | |
| execute_cmd: str | None = None | |
| execute_flags: str | None = None | |
| limits: ResourceLimits | None = None | |
| block_network: bool = True | |
| stop_on_first_fail: bool = True | |
| use_sanitizer: bool = False | |
| def json_parser(cls, form): | |
| return cls( | |
| language=form.get("language"), | |
| source_code=form.get("source_code"), | |
| unittests=[ExtendedUnittest(**t) for t in fix_uts(form.get("unittests"))], | |
| compile_cmd=form.get("compile_cmd"), | |
| compile_flags=form.get("compile_flags"), | |
| execute_cmd=form.get("execute_cmd"), | |
| execute_flags=form.get("execute_flags"), | |
| limits=ResourceLimits(**form.get("limits")) if form.get("limits") is not None else None, | |
| block_network=form.get("block_network", True), | |
| stop_on_first_fail=form.get("stop_on_first_fail", True), | |
| use_sanitizer=form.get("use_sanitizer", False), | |
| ) | |
| class LanguageError: | |
| msg: str | |