Fix: proper error exit codes and remove all input() pauses for automation

This commit is contained in:
buiaca 2026-08-12 13:36:47 +02:00
parent 27039ef7ca
commit f93cbeda38

View File

@ -90,11 +90,14 @@ def main():
continue continue
except FileNotFoundError: except FileNotFoundError:
print(f"FEHLER: Datei nicht gefunden: {args.eingabe_datei}", file=sys.stderr) print(f"FEHLER: Datei nicht gefunden: {args.eingabe_datei}", file=sys.stderr)
return sys.exit(1)
except Exception as e:
print(f"FEHLER beim Lesen: {e}", file=sys.stderr)
sys.exit(1)
if not rows: if not rows:
print("FEHLER: Keine Daten gelesen.", file=sys.stderr) print("FEHLER: Keine Daten gelesen.", file=sys.stderr)
return sys.exit(1)
output_lines = [] output_lines = []
for i, row in enumerate(rows): for i, row in enumerate(rows):
@ -118,8 +121,12 @@ def main():
output_lines.append(format_output_line(row, "", "")) output_lines.append(format_output_line(row, "", ""))
# Schreibe Ausgabedatei # Schreibe Ausgabedatei
with open(args.ausgabe_datei, mode="w", encoding="iso-8859-1", newline="") as outfile: try:
outfile.write("\n".join(output_lines) + "\n") with open(args.ausgabe_datei, mode="w", encoding="iso-8859-1", newline="") as outfile:
outfile.write("\n".join(output_lines) + "\n")
except Exception as e:
print(f"FEHLER beim Schreiben der Ausgabedatei: {e}", file=sys.stderr)
sys.exit(1)
print(f"Erfolgreich verarbeitet: {len(output_lines)} Zeilen.") print(f"Erfolgreich verarbeitet: {len(output_lines)} Zeilen.")
print(f"Ergebnis gespeichert in: {args.ausgabe_datei}") print(f"Ergebnis gespeichert in: {args.ausgabe_datei}")
@ -129,12 +136,8 @@ if __name__ == "__main__":
try: try:
main() main()
except Exception as e: except Exception as e:
print(f"\\nFEHLER: {e}", file=sys.stderr) print(f"\nFEHLER: {e}", file=sys.stderr)
print("\\n--- Details:", file=sys.stderr) print("\n--- Details:", file=sys.stderr)
import traceback import traceback
traceback.print_exc() traceback.print_exc()
finally: sys.exit(1)
try:
input("\\\\n--- Fertig (Enter zum Schliessen) ---")
except EOFError:
pass