mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-04-10 13:02:59 +00:00
improved game filtering milb
This commit is contained in:
@@ -803,6 +803,28 @@ class MiLBLiveManager(BaseMiLBManager):
|
|||||||
|
|
||||||
# Only process games that are actually in progress
|
# Only process games that are actually in progress
|
||||||
if game['status_state'] == 'in' and game['status'] == 'status_in_progress':
|
if game['status_state'] == 'in' and game['status'] == 'status_in_progress':
|
||||||
|
# Check if the game is from today or very recent (within last 24 hours)
|
||||||
|
game_date_str = game.get('start_time', '')
|
||||||
|
if game_date_str:
|
||||||
|
try:
|
||||||
|
# Parse the game date
|
||||||
|
game_date = datetime.fromisoformat(game_date_str.replace('Z', '+00:00'))
|
||||||
|
current_utc = datetime.now(timezone.utc)
|
||||||
|
hours_diff = (current_utc - game_date).total_seconds() / 3600
|
||||||
|
|
||||||
|
# If game is more than 24 hours old, it's probably not actually live
|
||||||
|
if hours_diff > 24:
|
||||||
|
self.logger.warning(f"[MiLB] Skipping old game marked as live: {game['away_team']} @ {game['home_team']} - game date: {game_date_str}, hours old: {hours_diff:.1f}")
|
||||||
|
continue
|
||||||
|
# If game is more than 1 hour in the future, it's not live yet
|
||||||
|
elif hours_diff < -1:
|
||||||
|
self.logger.warning(f"[MiLB] Skipping future game marked as live: {game['away_team']} @ {game['home_team']} - game date: {game_date_str}, hours until start: {abs(hours_diff):.1f}")
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
self.logger.debug(f"[MiLB] Game time check passed: {game['away_team']} @ {game['home_team']} - hours old: {hours_diff:.1f}")
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.warning(f"[MiLB] Could not parse game date {game_date_str}: {e}")
|
||||||
|
|
||||||
# Additional check: Verify the game has actual live data (inning info)
|
# Additional check: Verify the game has actual live data (inning info)
|
||||||
if 'inning' not in game or game['inning'] is None:
|
if 'inning' not in game or game['inning'] is None:
|
||||||
self.logger.warning(f"[MiLB] Skipping game without inning data: {game['away_team']} @ {game['home_team']}")
|
self.logger.warning(f"[MiLB] Skipping game without inning data: {game['away_team']} @ {game['home_team']}")
|
||||||
|
|||||||
Reference in New Issue
Block a user