diff --git a/skills/kugetsu/scripts/kugetsu-index.sh b/skills/kugetsu/scripts/kugetsu-index.sh index eba8a90..8eec8c2 100755 --- a/skills/kugetsu/scripts/kugetsu-index.sh +++ b/skills/kugetsu/scripts/kugetsu-index.sh @@ -202,9 +202,10 @@ update_queue_item_state() { return 1 fi + local issue_ref=$(python3 -c "import json; print(json.load(open('$item_file')).get('issue_ref', ''))" 2>/dev/null || echo "") + python3 << PYEOF import json -import os from datetime import datetime item_file = "$item_file" @@ -215,8 +216,6 @@ pid = "$pid" with open(item_file, 'r') as f: item = json.load(f) -issue_ref = item.get('issue_ref', '') - item['state'] = new_state if new_state == "notified": @@ -227,14 +226,18 @@ if new_state == "notified": item['pid'] = int(pid) if pid.isdigit() else None elif new_state == "completed": item['completed_at'] = datetime.now().isoformat() + "Z" - os.system(f"kugetsu_add_notification 'task_completed' 'Task completed: {issue_ref}' '{issue_ref}'") elif new_state == "error": item['error'] = datetime.now().isoformat() + "Z" - os.system(f"kugetsu_add_notification 'task_error' 'Task error: {issue_ref}' '{issue_ref}'") with open(item_file, 'w') as f: json.dump(item, f, indent=2) print(f"Updated $queue_id to state: $new_state") PYEOF + + if [ "$new_state" = "completed" ]; then + kugetsu_add_notification "task_completed" "Task completed: $issue_ref" "$issue_ref" + elif [ "$new_state" = "error" ]; then + kugetsu_add_notification "task_error" "Task error: $issue_ref" "$issue_ref" + fi }