Add timestamp_logger/src/timestamp_logger/cli.py

This commit is contained in:
Mika 2026-02-14 15:31:58 +00:00
parent a7dadaf0d7
commit dad2ecb563

View file

@ -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()