Default output to logs/YYYY_MM_DD_HH_MM_SS_<VIN>.log
When -o is omitted, the output file is auto-named from the run's start timestamp and the vehicle VIN and placed under ./logs/, which is created on demand. logs/ is gitignored. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-1
@@ -1,3 +1,4 @@
|
|||||||
.idea/
|
.idea/
|
||||||
credentials/
|
credentials/
|
||||||
vehicle_data.json
|
vehicle_data.json
|
||||||
|
logs/
|
||||||
+14
-5
@@ -12,7 +12,10 @@ Usage examples
|
|||||||
export WC_USER=me@example.com WC_PASS=secret
|
export WC_USER=me@example.com WC_PASS=secret
|
||||||
python collect.py
|
python collect.py
|
||||||
|
|
||||||
# Credentials from a JSON file:
|
# Credentials from a JSON file (output auto-named under ./logs/):
|
||||||
|
python collect.py -c creds.json -i 600
|
||||||
|
|
||||||
|
# Credentials from a JSON file, explicit output path:
|
||||||
python collect.py -c creds.json -i 600 -o id3.json
|
python collect.py -c creds.json -i 600 -o id3.json
|
||||||
|
|
||||||
# Custom domains, 10-minute interval:
|
# Custom domains, 10-minute interval:
|
||||||
@@ -378,8 +381,6 @@ def run(args: argparse.Namespace) -> None:
|
|||||||
log.error("Unknown domain(s): %s. Available: %s", unknown, list(ALL_DOMAINS))
|
log.error("Unknown domain(s): %s. Available: %s", unknown, list(ALL_DOMAINS))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
out = Path(args.output)
|
|
||||||
|
|
||||||
log.info("Connecting to WeConnect…")
|
log.info("Connecting to WeConnect…")
|
||||||
wc = weconnect.WeConnect(
|
wc = weconnect.WeConnect(
|
||||||
username=args.username,
|
username=args.username,
|
||||||
@@ -410,6 +411,14 @@ def run(args: argparse.Namespace) -> None:
|
|||||||
vin = vehicle.vin.value
|
vin = vehicle.vin.value
|
||||||
log.info("Vehicle: %s", vin)
|
log.info("Vehicle: %s", vin)
|
||||||
|
|
||||||
|
if args.output:
|
||||||
|
out = Path(args.output)
|
||||||
|
else:
|
||||||
|
logs_dir = Path("logs")
|
||||||
|
logs_dir.mkdir(exist_ok=True)
|
||||||
|
stamp = datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
|
||||||
|
out = logs_dir / f"{stamp}_{vin}.log"
|
||||||
|
|
||||||
store = load_store(out, vin, args.interval)
|
store = load_store(out, vin, args.interval)
|
||||||
log.info(
|
log.info(
|
||||||
"Collecting [%s] every %ds → %s (Ctrl-C to stop)",
|
"Collecting [%s] every %ds → %s (Ctrl-C to stop)",
|
||||||
@@ -487,9 +496,9 @@ def main() -> None:
|
|||||||
)
|
)
|
||||||
p.add_argument(
|
p.add_argument(
|
||||||
"-o", "--output",
|
"-o", "--output",
|
||||||
default="vehicle_data.json",
|
default=None,
|
||||||
metavar="FILE",
|
metavar="FILE",
|
||||||
help="Output JSON file (default: vehicle_data.json)",
|
help="Output file (default: logs/YYYY_MM_DD_HH_MM_SS_<VIN>.log)",
|
||||||
)
|
)
|
||||||
p.add_argument(
|
p.add_argument(
|
||||||
"--max-records",
|
"--max-records",
|
||||||
|
|||||||
Reference in New Issue
Block a user