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(