From d53202822e08ce8aa9670d535769811ff2cb4ccd Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 26 May 2026 14:55:30 +0200 Subject: [PATCH] collect: expose interval, host, port, log-dir as optional CLI overrides -i/--interval, --host, --port, --log-dir can now be passed on the command line; each overrides the corresponding credentials file value when given. Defaults remain unchanged (300 s, 0.0.0.0, 9999, ./logs). Co-Authored-By: Claude Sonnet 4.6 --- collect.py | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/collect.py b/collect.py index b41095a..8e28d75 100644 --- a/collect.py +++ b/collect.py @@ -192,6 +192,30 @@ def main() -> None: metavar="N", help="Keep only the last N records per file (default: unlimited)", ) + p.add_argument( + "-i", "--interval", + type=int, + default=None, + metavar="SECONDS", + help="Collection interval in seconds (overrides credentials file, default: 300)", + ) + p.add_argument( + "--host", + default=None, + help="Push server bind address (overrides credentials file, default: 0.0.0.0)", + ) + p.add_argument( + "--port", + type=int, + default=None, + help="Push server TCP port (overrides credentials file, default: 9999)", + ) + p.add_argument( + "--log-dir", + default=None, + metavar="DIR", + help="Directory for rotating log files (overrides credentials file, default: ./logs)", + ) p.add_argument("-v", "--verbose", action="store_true", help="Enable debug logging") p.add_argument( "--diff", @@ -241,10 +265,14 @@ def main() -> None: else: args.domains = raw_domains or "charging,measurements,readiness" - args.interval = int(creds_data.get("interval_s", 300)) - args.host = creds_data.get("host", "0.0.0.0") - args.port = int(creds_data.get("port", 9999)) - args.log_dir = creds_data.get("log_dir", "./logs") + if args.interval is None: + args.interval = int(creds_data.get("interval_s", 300)) + if args.host is None: + args.host = creds_data.get("host", "0.0.0.0") + if args.port is None: + args.port = int(creds_data.get("port", 9999)) + if args.log_dir is None: + args.log_dir = creds_data.get("log_dir", "./logs") if not args.dry and (not args.username or not args.password): p.error(