| from __future__ import annotations | |
| TASK_RUN_MODE_STABLE = "stable" | |
| TASK_RUN_MODE_OPTIMIZED = "optimized" | |
| TASK_RUN_MODES = ( | |
| TASK_RUN_MODE_STABLE, | |
| TASK_RUN_MODE_OPTIMIZED, | |
| ) | |
| TASK_RUN_MODE_LABELS = { | |
| TASK_RUN_MODE_STABLE: "稳定版", | |
| TASK_RUN_MODE_OPTIMIZED: "优化版", | |
| } | |
| TASK_RUN_MODE_DESCRIPTIONS = { | |
| TASK_RUN_MODE_STABLE: "保持当前稳定流程,优先兼容性与成功率。", | |
| TASK_RUN_MODE_OPTIMIZED: "复用选课页面与分类页签,减少重复加载;异常时自动回退稳定版。", | |
| } | |
| def normalize_task_run_mode(value: str | None) -> str: | |
| normalized = str(value or "").strip().lower() | |
| if normalized in TASK_RUN_MODES: | |
| return normalized | |
| return TASK_RUN_MODE_STABLE | |
| def build_task_run_mode_options() -> list[dict[str, str]]: | |
| return [ | |
| { | |
| "value": mode, | |
| "label": TASK_RUN_MODE_LABELS[mode], | |
| "description": TASK_RUN_MODE_DESCRIPTIONS[mode], | |
| } | |
| for mode in TASK_RUN_MODES | |
| ] | |