Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """Exit 0 if task_graders.json lists enough tasks and tasks/graders.py exists.""" | |
| from __future__ import annotations | |
| import json | |
| import sys | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[1] | |
| MIN_TASKS = 3 | |
| def main() -> int: | |
| doc = json.loads((ROOT / "task_graders.json").read_text(encoding="utf-8")) | |
| tasks = doc.get("tasks", []) | |
| if len(tasks) < MIN_TASKS: | |
| print(f"task_graders.json: need at least {MIN_TASKS} tasks", file=sys.stderr) | |
| return 1 | |
| for row in tasks: | |
| rel = row.get("grader_file") | |
| if not rel or not (ROOT / rel).is_file(): | |
| print(f"Missing grader file: {rel}", file=sys.stderr) | |
| return 1 | |
| if not (ROOT / "tasks" / "graders.py").is_file(): | |
| print("Missing canonical tasks/graders.py", file=sys.stderr) | |
| return 1 | |
| print(f"OK: {len(tasks)} tasks, grader module tasks/graders.py present") | |
| return 0 | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |