import json import re from datetime import datetime from pathlib import Path import pytz TZ = pytz.timezone("America/New_York") now = datetime.now(TZ) live_img = "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png" leagues_file = Path(__file__).parent / "leagues.json" class Leagues: def __init__(self) -> None: self.data = json.loads(leagues_file.read_text(encoding="utf-8")) def teams(self, league: str) -> list[str]: return self.data["teams"].get(league, []) def info(self, name: str) -> tuple[str | None, str]: name = name.upper() if match := next( ( (tvg_id, league_data.get("logo")) for tvg_id, leagues in self.data["leagues"].items() for league_entry in leagues for league_name, league_data in league_entry.items() if name == league_name or name in league_data.get("names", []) ), None, ): tvg_id, logo = match return (tvg_id, logo or live_img) return (None, live_img) def is_valid(self, event: str, league: str) -> bool: if match := re.search(r"(\-|vs.?)", event): t1, t2 = event.split(match[1]) return any(t in self.teams(league) for t in (t1.strip(), t2.strip())) return event.lower() == "nfl redzone" if league == "NFL" else False leagues = Leagues()