29 lines
662 B
Python
29 lines
662 B
Python
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]
|