29 lines
1.3 KiB
Python
29 lines
1.3 KiB
Python
"""Audit the map and preview grouped tasks without screenshots or clicks."""
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
from automation.planning import PAGE_ORDER, TaskPlanner
|
|
|
|
ROOT = Path(__file__).resolve().parent
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description='核查页面地图与任务清单,预览按页面分组的开发计划;不操作游戏')
|
|
parser.add_argument('--audit', action='store_true', help='只输出结构核查结果')
|
|
parser.add_argument('--page', choices=PAGE_ORDER, help='只显示指定入口页面任务')
|
|
parser.add_argument('--include-deferred', action='store_true', help='显示延期完善任务')
|
|
parser.add_argument('--include-manual', action='store_true', help='显示仅按明确命令执行的任务')
|
|
args = parser.parse_args()
|
|
data = json.loads((ROOT / 'workflows/page_map.json').read_text(encoding='utf-8'))
|
|
planner = TaskPlanner(data, ROOT)
|
|
audit = planner.audit()
|
|
result = audit if args.audit or not audit['valid'] else {
|
|
'audit': audit, **planner.plan(args.include_deferred, args.include_manual, args.page)}
|
|
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
return 0 if audit['valid'] else 1
|
|
|
|
|
|
if __name__ == '__main__':
|
|
raise SystemExit(main())
|