From dad2ecb563700105433e4a988928f8e871fed934 Mon Sep 17 00:00:00 2001 From: Mika Date: Sat, 14 Feb 2026 15:31:58 +0000 Subject: [PATCH] Add timestamp_logger/src/timestamp_logger/cli.py --- timestamp_logger/src/timestamp_logger/cli.py | 49 ++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 timestamp_logger/src/timestamp_logger/cli.py diff --git a/timestamp_logger/src/timestamp_logger/cli.py b/timestamp_logger/src/timestamp_logger/cli.py new file mode 100644 index 0000000..cc4451d --- /dev/null +++ b/timestamp_logger/src/timestamp_logger/cli.py @@ -0,0 +1,49 @@ +import argparse +import sys +from datetime import datetime +from timestamp_logger import core + + +def parse_args(argv=None): + parser = argparse.ArgumentParser( + description="CLI zur Erfassung und Speicherung von Upload-Zeitstempeln als JSONL-Eintrag." + ) + parser.add_argument( + "--t_publish", + required=True, + help="Upload-Zeitpunkt im ISO-8601-Format." + ) + parser.add_argument( + "--t_gate_read", + required=True, + help="Gate-Read-Zeitpunkt im ISO-8601-Format." + ) + parser.add_argument( + "--t_index_visible", + required=True, + help="Zeitpunkt der Index-Sichtbarkeit im ISO-8601-Format." + ) + return parser.parse_args(argv) + + +def parse_iso_datetime(dt_str: str) -> datetime: + try: + return datetime.fromisoformat(dt_str) + except ValueError as e: + raise SystemExit(f"Ungültiges ISO-Datum: {dt_str!r}. Fehler: {e}") from e + + +def main(argv=None): + args = parse_args(argv) + t_publish = parse_iso_datetime(args.t_publish) + t_gate_read = parse_iso_datetime(args.t_gate_read) + t_index_visible = parse_iso_datetime(args.t_index_visible) + + result = core.log_timestamps(t_publish, t_gate_read, t_index_visible) + if not result: + sys.exit("Fehler beim Logging der Zeitstempel.") + print("Zeitstempel erfolgreich geloggt.") + + +if __name__ == "__main__": + main() \ No newline at end of file