41 lines
1.1 KiB
Python
Executable File
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))
|