Replace deprecated datetime.utcnow() with datetime.now(timezone.utc)

datetime.utcnow() is deprecated in Python 3.12 and removed in 3.13.
Replace all four call sites with timezone-aware equivalents so the
codebase is ready for Python 3.12+.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-13 15:34:41 -04:00
parent faa0707f79
commit 06fceb184c
2 changed files with 6 additions and 6 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ import json
import logging import logging
import threading import threading
from contextlib import contextmanager from contextlib import contextmanager
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from typing import Optional from typing import Optional
import pymysql import pymysql
@@ -281,7 +281,7 @@ def create_suppression(
) -> int: ) -> int:
expires_at = None expires_at = None
if expires_minutes: if expires_minutes:
expires_at = datetime.utcnow() + timedelta(minutes=int(expires_minutes)) expires_at = datetime.now(timezone.utc) + timedelta(minutes=int(expires_minutes))
with get_conn() as conn: with get_conn() as conn:
with conn.cursor() as cur: with conn.cursor() as cur:
cur.execute( cur.execute(
+4 -4
View File
@@ -12,7 +12,7 @@ import logging
import re import re
import shlex import shlex
import time import time
from datetime import datetime from datetime import datetime, timezone
from typing import Dict, List, Optional from typing import Dict, List, Optional
import requests import requests
@@ -618,7 +618,7 @@ class LinkStatsCollector:
return { return {
'hosts': result_hosts, 'hosts': result_hosts,
'unifi_switches': unifi_switches, 'unifi_switches': unifi_switches,
'updated': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S UTC'), 'updated': datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M:%S UTC'),
} }
def _compute_unifi_rates(self, raw: Dict[str, dict], now: float) -> Dict[str, dict]: def _compute_unifi_rates(self, raw: Dict[str, dict], now: float) -> Dict[str, dict]:
@@ -653,7 +653,7 @@ class LinkStatsCollector:
# Helpers # Helpers
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
def _now_utc() -> str: def _now_utc() -> str:
return datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S UTC') return datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M:%S UTC')
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
@@ -921,7 +921,7 @@ class NetworkMonitor:
return { return {
'hosts': hosts, 'hosts': hosts,
'unifi': display_unifi, 'unifi': display_unifi,
'updated': datetime.utcnow().isoformat() + 'Z', 'updated': datetime.now(timezone.utc).isoformat().replace('+00:00', 'Z'),
} }
# ------------------------------------------------------------------ # ------------------------------------------------------------------