Add temperature_logger/src/temperature_logger/cli.py

This commit is contained in:
Mika 2026-05-31 02:06:38 +00:00
parent a7e7b95ea0
commit 04acc1bd3d

View file

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