#!/usr/bin/env python3 """ Kanban Task Update Script for Sanguo Quant Workflow Usage: python kanban_update.py Example: python kanban_update.py JJC-20260401-007 doing "中书省处理中" """ import sys import os from datetime import datetime # 任务跟踪文件位置 KANBAN_FILE = os.path.join(os.path.dirname(__file__), 'task_tracker.md') def main(): if len(sys.argv) < 4: print("Usage: python kanban_update.py ") print(" state: pending | doing | review | done | blocked") print(" description: update description in quotes") sys.exit(1) task_id = sys.argv[1] state = sys.argv[2] description = sys.argv[3] now = datetime.now().strftime("%Y-%m-%d %H:%M GMT+8") # 检查文件是否存在 if not os.path.exists(KANBAN_FILE): # 创建新文件 with open(KANBAN_FILE, 'w') as f: f.write("# 📋 Sanguo Quant Kanban Task Tracker\n\n") f.write("| Task ID | State | Last Update | Description |\n") f.write("|---------|-------|-------------|-------------|\n") # 读取现有内容 lines = [] found = False with open(KANBAN_FILE, 'r') as f: lines = f.readlines() # 更新或添加任务 new_lines = [] for line in lines: if line.startswith("|") and task_id in line: # 更新现有任务 new_line = f"| {task_id} | **{state}** | {now} | {description} |\n" new_lines.append(new_line) found = True else: new_lines.append(line) if not found: # 添加新任务 if len(new_lines) >= 3: new_lines.insert(len(new_lines), f"| {task_id} | **{state}** | {now} | {description} |\n") # 写回文件 with open(KANBAN_FILE, 'w') as f: f.writelines(new_lines) print(f"✅ Kanban updated: {task_id} → {state} @ {now}") print(f" Description: {description}") if __name__ == "__main__": main()