From dd357cf39c921eb28167e069ca1d7a7edc661a9d Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Mon, 21 Oct 2024 06:53:00 -0400 Subject: [PATCH] feat: joj1 models --- joj3_config_generator/models/__init__.py | 3 +++ joj3_config_generator/models/joj1.py | 28 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 joj3_config_generator/models/joj1.py diff --git a/joj3_config_generator/models/__init__.py b/joj3_config_generator/models/__init__.py index 68802d4..9ecf823 100644 --- a/joj3_config_generator/models/__init__.py +++ b/joj3_config_generator/models/__init__.py @@ -1,3 +1,6 @@ +from joj3_config_generator.models.joj1 import Case as Case +from joj3_config_generator.models.joj1 import JOJ1Config as JOJ1Config +from joj3_config_generator.models.joj1 import Language as Language from joj3_config_generator.models.repo import Repo as Repo from joj3_config_generator.models.result import Cmd as Cmd from joj3_config_generator.models.result import CmdFile as CmdFile diff --git a/joj3_config_generator/models/joj1.py b/joj3_config_generator/models/joj1.py new file mode 100644 index 0000000..2ce5292 --- /dev/null +++ b/joj3_config_generator/models/joj1.py @@ -0,0 +1,28 @@ +from typing import Optional + +from pydantic import BaseModel, Field + + +class Language(BaseModel): + language: str + type: Optional[str] = None + compiler_file: Optional[str] = None + compiler_args: Optional[str] = None + code_file: Optional[str] = None + execute_file: Optional[str] = None + execute_args: Optional[str] = None + + +class Case(BaseModel): + time: str = Field(default="1s") + memory: str = Field(default="32m") + score: int = Field(default=10) + input: str + output: str + execute_args: Optional[str] = None + category: Optional[str] = None + + +class JOJ1Config(BaseModel): + languages: list[Language] + cases: list[Case]