From 8eec623c9274c198c5e7811fb9c894f969d29694 Mon Sep 17 00:00:00 2001 From: ngxstat-bot Date: Tue, 19 Aug 2025 00:36:41 -0500 Subject: [PATCH] reports: use timezone-aware UTC for timestamps\n\n- Replace deprecated datetime.utcnow() with datetime.now(timezone.utc)\n- Keeps existing human-friendly format while avoiding deprecation warnings\n- Applies to marker file and generated_at in stats --- scripts/generate_reports.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/generate_reports.py b/scripts/generate_reports.py index 178951e..118d2dc 100644 --- a/scripts/generate_reports.py +++ b/scripts/generate_reports.py @@ -3,7 +3,7 @@ import sqlite3 from pathlib import Path import shutil from typing import List, Dict, Optional -from datetime import datetime +from datetime import datetime, timezone import time import yaml @@ -37,7 +37,8 @@ def _cli_callback(ctx: typer.Context) -> None: def _write_marker() -> None: OUTPUT_DIR.mkdir(parents=True, exist_ok=True) - timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + # Use timezone-aware UTC to avoid deprecation warnings and ambiguity + timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S") GENERATED_MARKER.write_text(f"{timestamp}\n") ctx.call_on_close(_write_marker) @@ -271,7 +272,8 @@ def _generate_global() -> None: return start_time = time.time() - generated_at = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + # Use timezone-aware UTC for generated_at (string remains unchanged format) + generated_at = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S") _copy_icons()