129 lines
4.3 KiB
Python
129 lines
4.3 KiB
Python
from datetime import datetime
|
|
|
|
import pytz
|
|
|
|
TZ = pytz.timezone("America/New_York")
|
|
|
|
now = datetime.now(TZ)
|
|
|
|
UA = (
|
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
|
|
"AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
"Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0"
|
|
)
|
|
|
|
LEAGUES: dict[str, dict[str, str]] = {
|
|
"Basketball": {
|
|
"logo": "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png",
|
|
"id": "Basketball.Dummy.us",
|
|
},
|
|
"Bundesliga": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2020/09/Bundesliga-Logo-500x313.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"F1": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2021/06/F1-logo-500x281.png",
|
|
"id": "Racing.Dummy.us",
|
|
},
|
|
"La Liga": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2019/01/Spanish-La-Liga-Logo-500x281.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"Ligue 1": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2019/01/Ligue-1-Logo-500x281.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"MLB": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/04/MLB-Logo-500x281.png",
|
|
"id": "MLB.Baseball.Dummy.us",
|
|
},
|
|
"MLS": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/10/MLS-logo-500x393.png",
|
|
"id": "MLS.Soccer.Dummy.us",
|
|
},
|
|
"Moto GP": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2021/03/MotoGP-Logo-500x281.png",
|
|
"id": "Racing.Dummy.us",
|
|
},
|
|
"NBA": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2025/08/Jerry-West-the-NBA-Logo-500x281.png",
|
|
"id": "NBA.Basketball.Dummy.us",
|
|
},
|
|
"NCAA": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2021/12/NCAA-Logo-500x281.png",
|
|
"id": "Sports.Dummy.us",
|
|
},
|
|
"NFL": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/05/NFL-logo-500x338.png",
|
|
"id": "NFL.Dummy.us",
|
|
},
|
|
"NHL": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/05/NHL-Logo-500x333.png",
|
|
"id": "NHL.Hockey.Dummy.us",
|
|
},
|
|
"Pay-Per-View": {
|
|
"logo": "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png",
|
|
"id": "PPV.EVENTS.Dummy.us",
|
|
},
|
|
"Premier League": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/05/Premier-League-logo-500x210.png",
|
|
"id": "Premier.League.Dummy.us",
|
|
},
|
|
"Primera A": {
|
|
"logo": "https://b.fssta.com/uploads/application/soccer/competition-logos/ColombianPrimeraA.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"Primeira Liga": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2022/01/Portuguese-Primeira-Liga-logo-500x281.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"Serie A": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2019/01/Italian-Serie-A-Logo-500x281.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"Soccer": {
|
|
"logo": "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png",
|
|
"id": "Soccer.Dummy.us",
|
|
},
|
|
"UEFA Champions League": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2022/01/UEFA-Champions-League-logo-500x281.png",
|
|
"id": "UEFA.Champions.League.Dummy.us",
|
|
},
|
|
"UFC": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2017/06/Logo-UFC-500x313.png",
|
|
"id": "UFC.Fight.Pass.Dummy.us",
|
|
},
|
|
"WNBA": {
|
|
"logo": "https://1000logos.net/wp-content/uploads/2018/09/logo-wnba-500x287.png",
|
|
"id": "WNBA.dummy.us",
|
|
},
|
|
"default": {
|
|
"logo": "https://i.gyazo.com/978f2eb4a199ca5b56b447aded0cb9e3.png",
|
|
"id": "Live.Event.us",
|
|
},
|
|
}
|
|
|
|
|
|
alias_map = {
|
|
"Bundesliga": ["German Bundesliga", "Bundeslig"],
|
|
"F1": ["Formula 1", "Formula One"],
|
|
"La Liga": ["Spanish La Liga", "Laliga"],
|
|
"MLB": ["Major League Baseball", "Baseball"],
|
|
"MLS": ["Major League Soccer"],
|
|
"Moto GP": ["MotoGP"],
|
|
"NCAA": ["CBB", "CFB", "NCAAB", "NCAAF"],
|
|
"NFL": ["American Football", "USA NFL"],
|
|
"Premier League": ["EPL"],
|
|
"Primeira Liga": ["Liga Portugal"],
|
|
"Soccer": ["Football", "World Cup", "World Cup Qualifiers", "UEFA Europa League"],
|
|
"UEFA Champions League": ["Champions League", "UCL"],
|
|
"WNBA": ["NBA W"],
|
|
}
|
|
|
|
for base, aliases in alias_map.items():
|
|
for alias in aliases:
|
|
LEAGUES[alias] = LEAGUES[base]
|
|
|
|
|
|
def league_info(name: str) -> dict:
|
|
return LEAGUES.get(name, LEAGUES["default"])
|