From 04acc1bd3dbf2339ed431bbed5fc3f78c8e25e14 Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 31 May 2026 02:06:38 +0000 Subject: [PATCH] Add temperature_logger/src/temperature_logger/cli.py --- .../src/temperature_logger/cli.py | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 temperature_logger/src/temperature_logger/cli.py diff --git a/temperature_logger/src/temperature_logger/cli.py b/temperature_logger/src/temperature_logger/cli.py new file mode 100644 index 0000000..f8a2945 --- /dev/null +++ b/temperature_logger/src/temperature_logger/cli.py @@ -0,0 +1,51 @@ +import argparse +import sys +from pathlib import Path + +# Importiere Funktion aus core-Modul +from temperature_logger.core import log_temperature_data + +def main() -> None: + """CLI-Einstiegspunkt für das Temperatur-Logging-Tool. + + Liest Kommandozeilenargumente und startet den Logging-Prozess. + """ + parser = argparse.ArgumentParser( + description="Starte das Temperatur-Logging über einen Infrarot-Sensor." + ) + + parser.add_argument( + "--sensor", + required=True, + help="Pfad zum Sensor oder Portname, z. B. /dev/ttyUSB0." + ) + + parser.add_argument( + "--interval", + type=float, + default=1.0, + help="Messintervall in Sekunden (Standard: 1.0)." + ) + + args = parser.parse_args() + + # Input Validation + sensor = args.sensor + if not isinstance(sensor, str) or not sensor: + print("Fehler: Der Wert für --sensor muss eine nicht-leere Zeichenkette sein.", file=sys.stderr) + sys.exit(1) + + interval = args.interval + if not isinstance(interval, (int, float)) or interval <= 0: + print("Fehler: Der Wert für --interval muss eine positive Zahl sein.", file=sys.stderr) + sys.exit(1) + + try: + log_temperature_data(sensor=sensor, interval=interval) + except Exception as exc: # pragma: no cover + print(f"Fehler beim Starten des Temperatur-Loggings: {exc}", file=sys.stderr) + sys.exit(1) + + +if __name__ == "__main__": + main()