27 lines
572 B
Python
27 lines
572 B
Python
from typing import Any
|
|
|
|
from pydantic import BaseModel
|
|
|
|
Variables = dict[str, Any]
|
|
|
|
|
|
class TaskPreset(BaseModel):
|
|
cwd: str | None = None
|
|
priority: int = 0
|
|
conditions: list[str] | None = None
|
|
variables: Variables | None = None
|
|
commands: list[str]
|
|
|
|
|
|
class EntryPreset(BaseModel):
|
|
priority: int = 0
|
|
conditions: list[str] | None = None
|
|
variables: Variables | None = None
|
|
tasks: dict[str, dict[str, TaskPreset]]
|
|
|
|
|
|
class Preset(BaseModel):
|
|
skip: bool | None = None
|
|
modules: list[str] | None = None
|
|
presets: dict[str, EntryPreset]
|