netgescon-day0/scripts/ops/antigravity-cli/parse_205_runner_output.py

41 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
import sys
import json
import re
def parse_output(text: str) -> dict:
fields = {
"task_id": None,
"esito_205": None,
"repository": "ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git",
"branch": "stabilization/205-zero",
"commit": None,
"test_eseguiti": None,
"blocco_dati": "no",
"note": None,
"raw_text": text
}
patterns = {
"esito_205": r"ESITO_205:\s*(.+)",
"task_id": r"TASK_ID:\s*(.+)",
"repository": r"REPOSITORY:\s*(.+)",
"branch": r"BRANCH:\s*(.+)",
"commit": r"COMMIT:\s*(.+)",
"test_eseguiti": r"TEST_ESEGUITI:\s*(.+)",
"blocco_dati": r"BLOCCO_DATI:\s*(.+)",
"note": r"NOTE:\s*(.+)"
}
for key, pat in patterns.items():
m = re.search(pat, text, re.IGNORECASE)
if m:
fields[key] = m.group(1).strip()
return fields
if __name__ == "__main__":
input_text = sys.stdin.read()
parsed = parse_output(input_text)
print(json.dumps(parsed, ensure_ascii=False, indent=2))