DiscordChatExporter/scripts/lib/scrape-summary-json.sh
Copilot fcea842fe3 feat(scrape): recover JSON summary from teed validation log
When DCE_RUN_SUMMARY_FILE is missing after operator validation, extract
the last DCE_JSON_SUMMARY line from the log. Refresh KotOR operator docs.
2026-06-03 10:25:23 -05:00

27 lines
693 B
Bash

#!/usr/bin/env bash
# Recover machine-readable scrape summaries from teed operator logs.
extract_json_summary_from_log() {
local source_log=$1
local dest_file=$2
local line json_payload
[[ -n "$source_log" && -n "$dest_file" ]] || return 1
[[ -f "$source_log" && -r "$source_log" ]] || return 1
command -v jq >/dev/null 2>&1 || return 1
line=$(grep 'DCE_JSON_SUMMARY:' "$source_log" | tail -1) || return 1
[[ -n "$line" ]] || return 1
json_payload=${line#*DCE_JSON_SUMMARY: }
[[ -n "$json_payload" ]] || return 1
if ! jq -e . >/dev/null 2>&1 <<<"$json_payload"; then
return 1
fi
mkdir -p "$(dirname "$dest_file")"
jq . <<<"$json_payload" >"$dest_file"
}