Skip to content

Commit 0fa0491

Browse files
authored
fix: use datetime.timezone.utc instead of ZoneInfo("UTC") (#155)
* fix: use datetime.timezone.utc instead of ZoneInfo("UTC") in message_by_date The self-hosted runner lacks tzdata, causing ZoneInfo("UTC") to raise KeyError. datetime.timezone.utc is a stdlib constant that always works. * fix: use datetime.UTC constant for ruff compliance
1 parent 0364362 commit 0fa0491

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

src/web/main.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from collections.abc import AsyncGenerator
1818
from contextlib import asynccontextmanager
1919
from dataclasses import dataclass, field
20-
from datetime import datetime, timedelta
20+
from datetime import UTC, datetime, timedelta
2121
from pathlib import Path
2222
from typing import TYPE_CHECKING
2323
from urllib.parse import quote, urlparse
@@ -1673,14 +1673,14 @@ async def get_message_by_date(
16731673
user_tz = ZoneInfo(tz_str)
16741674
except Exception:
16751675
logger.warning(f"Invalid timezone '{tz_str}', falling back to UTC")
1676-
user_tz = ZoneInfo("UTC")
1676+
user_tz = UTC
16771677

16781678
# Parse date string (YYYY-MM-DD) as a date in the user's timezone
16791679
naive_date = datetime.strptime(date, "%Y-%m-%d")
16801680
# Create timezone-aware datetime at start of day in user's timezone
16811681
local_start_of_day = naive_date.replace(hour=0, minute=0, second=0, microsecond=0, tzinfo=user_tz)
16821682
# Convert to UTC for database query
1683-
target_date = local_start_of_day.astimezone(ZoneInfo("UTC")).replace(tzinfo=None)
1683+
target_date = local_start_of_day.astimezone(UTC).replace(tzinfo=None)
16841684

16851685
message = await db.find_message_by_date_with_joins(chat_id, target_date)
16861686

0 commit comments

Comments
 (0)