29 lines
664 B
Python
29 lines
664 B
Python
from typing import List, 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 Config(BaseModel):
|
|
languages: List[Language]
|
|
cases: List[Case]
|