Files
KGPZ/Scripts/annotations_validation.py
2024-07-18 11:26:06 +02:00

35 lines
1.0 KiB
Python

import sys
import re
def parse_error_message(line):
match = re.match(r"Validierungsfehler in (.*?):\s*", line)
if match:
return match.group(1), None, None, None
match = re.match(r"\s*Zeile (\d+), Spalte (\d+): (.*)", line)
if match:
return None, int(match.group(1)), int(match.group(2)), match.group(3)
match = re.match(r"XML-Syntaxfehler in (.*?):\s*", line)
if match:
return match.group(1), None, None, None
match = re.match(r"\s*Zeile (\d+), Spalte (\d+): (.*)", line)
if match:
return None, int(match.group(1)), int(match.group(2)), match.group(3)
return None, None, None, None
def main():
current_file = None
for line in sys.stdin:
file, line_num, column, message = parse_error_message(line.strip())
if file:
current_file = file
elif line_num and column and message and current_file:
print(f"::error file={current_file},line={line_num},col={column}::{message}")
if __name__ == "__main__":
main()