Add logger/src/logger/cli.py

This commit is contained in:
Mika 2026-03-29 03:07:26 +00:00
parent 8bd7948eac
commit d415d20b5d

44
logger/src/logger/cli.py Normal file
View file

@ -0,0 +1,44 @@
import argparse
import sys
from logger import core
def parse_args(argv=None) -> argparse.Namespace:
"""Parst CLI-Argumente --interval und --duration."""
parser = argparse.ArgumentParser(description="Startet die Lichtmessungs-Logger-Sitzung.")
parser.add_argument(
"--interval",
type=float,
required=True,
help="Zeitintervall zwischen Messungen (in Sekunden).",
)
parser.add_argument(
"--duration",
type=float,
required=True,
help="Gesamtdauer der Aufzeichnung (in Sekunden).",
)
args = parser.parse_args(argv)
# Validierung (ci_ready & input_validation_required)
assert args.interval > 0, "Interval must be positive."
assert args.duration > 0, "Duration must be positive."
return args
def main(argv=None) -> None:
"""CLI-Einstiegspunkt zum Starten der Logging-Session."""
args = parse_args(argv)
log_path = core.start_logging(interval=args.interval, duration=args.duration)
print(f"Lichtlogger abgeschlossen. Logdatei: {log_path}")
if __name__ == "__main__":
try:
main(sys.argv[1:])
except AssertionError as e:
sys.stderr.write(f"Fehlerhafte Eingabe: {e}\n")
sys.exit(1)
except Exception as e: # generische Fehlerbehandlung für CLI-Sicherheit
sys.stderr.write(f"Unerwarteter Fehler: {e}\n")
sys.exit(2)