From a03c1d8cf5bde55e3e88727d4434479cdb4a9757 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Sat, 21 Jun 2025 12:21:04 -0400 Subject: [PATCH] chore: simpler models --- joj3_config_generator/models/task.py | 12 ++++-------- joj3_config_generator/transformers/task.py | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py index 2ca4282..24ee270 100644 --- a/joj3_config_generator/models/task.py +++ b/joj3_config_generator/models/task.py @@ -139,7 +139,7 @@ class Parser(str, Enum): ELF = "elf" -class CaseBase(BaseModel): +class Case(BaseModel): env: List[str] = [] command: str = "" # Command to run files: StageFiles = StageFiles() @@ -149,14 +149,10 @@ class CaseBase(BaseModel): True, validation_alias=AliasChoices("copy-in-cwd", "copy_in_cwd") ) limit: Limit = Limit() - score: int = 0 - - -class DictCase(CaseBase): diff: ParserDiff = ParserDiff() -class Stage(CaseBase): +class Stage(Case): name: str = "" # stage name skip: List[str] = [] @@ -176,9 +172,9 @@ class Stage(CaseBase): validation_alias=AliasChoices("result-detail", "result_detail"), ) file: ParserFile = ParserFile() - diff: ParserDiff = ParserDiff() + # diff: ParserDiff = ParserDiff() # inherited from Case - cases: Dict[str, DictCase] = {} + cases: Dict[str, Case] = {} model_config = ConfigDict(extra="allow") diff --git a/joj3_config_generator/transformers/task.py b/joj3_config_generator/transformers/task.py index c0ea1c6..b3530a8 100644 --- a/joj3_config_generator/transformers/task.py +++ b/joj3_config_generator/transformers/task.py @@ -276,7 +276,7 @@ def fix_diff( def get_unspecified_cases( - task_root: Path, task_path: Path, cases: Dict[str, task.DictCase] + task_root: Path, task_path: Path, cases: Dict[str, task.Case] ) -> List[str]: testcases = set() for testcases_path in (task_root / task_path).parent.glob("**/*.in"): @@ -306,7 +306,7 @@ def get_unspecified_cases( def get_stdin_stdout( - task_root: Path, task_path: Path, case_name: str, case: task.DictCase + task_root: Path, task_path: Path, case_name: str, case: task.Case ) -> Tuple[result.Stdin, Optional[str]]: case_stdout_name = case.out_ if case.out_ else f"{case_name}.out" stdin: result.Stdin = result.MemoryFile(content="")