From ade10ce8bfd675f467029cafd39d4f874c8bee06 Mon Sep 17 00:00:00 2001 From: ChuckBuilds <33324927+ChuckBuilds@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:03:27 -0500 Subject: [PATCH] fix: Properly handle timezone conversion in MLB_Manager using pytz --- src/mlb_manager.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mlb_manager.py b/src/mlb_manager.py index 4cb3100c..b6cc93ab 100644 --- a/src/mlb_manager.py +++ b/src/mlb_manager.py @@ -10,6 +10,7 @@ import numpy as np from .cache_manager import CacheManager from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry +import pytz # Get logger logger = logging.getLogger(__name__) @@ -184,13 +185,19 @@ class BaseMLBManager: try: # Get timezone from config timezone_str = self.config.get('timezone', 'UTC') - tz = timezone(timedelta(hours=0)) # Default to UTC if timezone not found + try: + tz = pytz.timezone(timezone_str) + except pytz.exceptions.UnknownTimeZoneError: + logger.warning(f"Unknown timezone: {timezone_str}, falling back to UTC") + tz = pytz.UTC # Convert game time to local timezone dt = datetime.fromisoformat(game_time.replace('Z', '+00:00')) - dt = dt.astimezone(tz) + if dt.tzinfo is None: + dt = dt.replace(tzinfo=pytz.UTC) + local_dt = dt.astimezone(tz) - return dt.strftime("%I:%M %p") + return local_dt.strftime("%I:%M %p") except Exception as e: logger.error(f"Error formatting game time: {e}") return "TBD"