diff --git a/M3U8/fetch.py b/M3U8/fetch.py index af58220..9a3a98f 100644 --- a/M3U8/fetch.py +++ b/M3U8/fetch.py @@ -44,8 +44,8 @@ async def main() -> None: additions = tvpass.urls | fstv.urls lines = [ - f'#EXTINF:-1 tvg-chno="{chnl_number}" tvg-id="(N/A)" tvg-name="{event}" tvg-logo="https://i.gyazo.com/ec27417a9644ae517196494afa72d2b9.png" group-title="Live Events",{event}\n{url}' - for chnl_number, (event, url) in enumerate( + f'#EXTINF:-1 tvg-chno="{chnl_number}" tvg-id="(N/A)" tvg-name="{event}" tvg-logo="{info["logo"]}" group-title="Live Events",{event}\n{info["url"]}' + for chnl_number, (event, info) in enumerate( sorted(additions.items()), start=chnl_number + 1, ) diff --git a/M3U8/scrape/fstv.py b/M3U8/scrape/fstv.py index ea988b8..e92a6d0 100644 --- a/M3U8/scrape/fstv.py +++ b/M3U8/scrape/fstv.py @@ -4,7 +4,7 @@ from urllib.parse import urljoin import httpx from selectolax.parser import HTMLParser -urls: dict[str, str] = {} +urls: dict[str, dict[str, str]] = {} mirrors = [ "https://fstv.online", @@ -116,6 +116,9 @@ async def main(client: httpx.AsyncClient) -> None: f"[{event}] {match_name} (S{i})" if match_name else f"[{event}] (S{i})" ) - urls[key] = link + urls[key] = { + "logo": "https://i.gyazo.com/ec27417a9644ae517196494afa72d2b9.png", + "url": link, + } print(f"Collected {len(urls)} live events") diff --git a/M3U8/scrape/tvpass.json b/M3U8/scrape/tvpass.json index 1dac901..1f853a4 100644 --- a/M3U8/scrape/tvpass.json +++ b/M3U8/scrape/tvpass.json @@ -1,61 +1,229 @@ { - "_timestamp": 1756397743.720503, + "_timestamp": 1756423914.907185, "urls": { - "[MLB] Boston Red Sox @ Baltimore Orioles (SD)": "https://tvpass.org/live/mlb-17/sd", - "[MLB] Boston Red Sox @ Baltimore Orioles (HD)": "https://tvpass.org/live/mlb-17/hd", - "[MLB] Arizona Diamondbacks @ Milwaukee Brewers (SD)": "https://tvpass.org/live/mlb-16/sd", - "[MLB] Arizona Diamondbacks @ Milwaukee Brewers (HD)": "https://tvpass.org/live/mlb-16/hd", - "[MLB] Colorado Rockies @ Houston Astros (SD)": "https://tvpass.org/live/mlb-06/sd", - "[MLB] Colorado Rockies @ Houston Astros (HD)": "https://tvpass.org/live/mlb-06/hd", - "[MLB] Pittsburgh Pirates @ St. Louis Cardinals (SD)": "https://tvpass.org/live/mlb-08/sd", - "[MLB] Pittsburgh Pirates @ St. Louis Cardinals (HD)": "https://tvpass.org/live/mlb-08/hd", - "[MLB] Chicago Cubs @ San Francisco Giants (SD)": "https://tvpass.org/live/mlb-27/sd", - "[MLB] Chicago Cubs @ San Francisco Giants (HD)": "https://tvpass.org/live/mlb-27/hd", - "[NCAAF] Boise State Broncos @ South Florida Bulls (SD)": "https://tvpass.org/live/ESPN/sd", - "[NCAAF] Boise State Broncos @ South Florida Bulls (HD)": "https://tvpass.org/live/ESPN/hd", - "[NCAAF] Ohio Bobcats @ Rutgers Scarlet Knights (SD)": "https://tvpass.org/live/BTN/sd", - "[NCAAF] Ohio Bobcats @ Rutgers Scarlet Knights (HD)": "https://tvpass.org/live/BTN/hd", - "[NCAAF] Lafayette Leopards @ Bowling Green Falcons (SD)": "https://tvpass.org/live/NCAAF03/sd", - "[NCAAF] Lafayette Leopards @ Bowling Green Falcons (HD)": "https://tvpass.org/live/NCAAF03/hd", - "[MLB] Atlanta Braves @ Philadelphia Phillies (SD)": "https://tvpass.org/live/mlb-18/sd", - "[MLB] Atlanta Braves @ Philadelphia Phillies (HD)": "https://tvpass.org/live/mlb-18/hd", - "[WNBA] Washington Mystics @ New York Liberty (SD)": "https://tvpass.org/live/WNBA01/sd", - "[WNBA] Washington Mystics @ New York Liberty (HD)": "https://tvpass.org/live/WNBA01/hd", - "[NCAAF] Wyoming Cowboys @ Akron Zips (SD)": "https://tvpass.org/live/NCAAF06/sd", - "[NCAAF] Wyoming Cowboys @ Akron Zips (HD)": "https://tvpass.org/live/NCAAF06/hd", - "[NCAAF] East Carolina Pirates @ NC State Wolfpack (SD)": "https://tvpass.org/live/ACCNetwork/sd", - "[NCAAF] East Carolina Pirates @ NC State Wolfpack (HD)": "https://tvpass.org/live/ACCNetwork/hd", - "[NCAAF] St. Francis (PA) Red Flash @ UL Monroe Warhawks (SD)": "https://tvpass.org/live/NCAAF07/sd", - "[NCAAF] St. Francis (PA) Red Flash @ UL Monroe Warhawks (HD)": "https://tvpass.org/live/NCAAF07/hd", - "[NCAAF] Delaware State Hornets @ Delaware Blue Hens (SD)": "https://tvpass.org/live/NCAAF10/sd", - "[NCAAF] Delaware State Hornets @ Delaware Blue Hens (HD)": "https://tvpass.org/live/NCAAF10/hd", - "[NCAAF] Jacksonville State Gamecocks @ UCF Knights (SD)": "https://tvpass.org/live/NCAAF08/sd", - "[NCAAF] Jacksonville State Gamecocks @ UCF Knights (HD)": "https://tvpass.org/live/NCAAF08/hd", - "[MLB] Miami Marlins @ New York Mets (SD)": "https://tvpass.org/live/mlb-24/sd", - "[MLB] Miami Marlins @ New York Mets (HD)": "https://tvpass.org/live/mlb-24/hd", - "[NCAAF] Central Arkansas Bears @ Missouri Tigers (SD)": "https://tvpass.org/live/SECN/sd", - "[NCAAF] Central Arkansas Bears @ Missouri Tigers (HD)": "https://tvpass.org/live/SECN/hd", - "[NCAAF] Elon Phoenix @ Duke Blue Devils (SD)": "https://tvpass.org/live/NCAAF12/sd", - "[NCAAF] Elon Phoenix @ Duke Blue Devils (HD)": "https://tvpass.org/live/NCAAF12/hd", - "[NCAAF] UT Martin Skyhawks @ Oklahoma State Cowboys (SD)": "https://tvpass.org/live/NCAAF14/sd", - "[NCAAF] UT Martin Skyhawks @ Oklahoma State Cowboys (HD)": "https://tvpass.org/live/NCAAF14/hd", - "[MLB] New York Yankees @ Chicago White Sox (SD)": "https://tvpass.org/live/mlb-03/sd", - "[MLB] New York Yankees @ Chicago White Sox (HD)": "https://tvpass.org/live/mlb-03/hd", - "[NCAAF] Buffalo Bulls @ Minnesota Golden Gophers (SD)": "https://tvpass.org/live/FoxSports1/sd", - "[NCAAF] Buffalo Bulls @ Minnesota Golden Gophers (HD)": "https://tvpass.org/live/FoxSports1/hd", - "[NCAAF] Stephen F. Austin Lumberjacks @ Houston Cougars (SD)": "https://tvpass.org/live/NCAAF15/sd", - "[NCAAF] Stephen F. Austin Lumberjacks @ Houston Cougars (HD)": "https://tvpass.org/live/NCAAF15/hd", - "[WNBA] Seattle Storm @ Minnesota Lynx (SD)": "https://tvpass.org/live/WNBA02/sd", - "[WNBA] Seattle Storm @ Minnesota Lynx (HD)": "https://tvpass.org/live/WNBA02/hd", - "[NCAAF] Alabama State Hornets @ UAB Blazers (SD)": "https://tvpass.org/live/NCAAF18/sd", - "[NCAAF] Alabama State Hornets @ UAB Blazers (HD)": "https://tvpass.org/live/NCAAF18/hd", - "[NCAAF] Nebraska Cornhuskers @ Cincinnati Bearcats (SD)": "https://tvpass.org/live/ESPN/sd", - "[NCAAF] Nebraska Cornhuskers @ Cincinnati Bearcats (HD)": "https://tvpass.org/live/ESPN/hd", - "[NCAAF] Miami (OH) RedHawks @ Wisconsin Badgers (SD)": "https://tvpass.org/live/BTN/sd", - "[NCAAF] Miami (OH) RedHawks @ Wisconsin Badgers (HD)": "https://tvpass.org/live/BTN/hd", - "[NCAAF] Stony Brook Seawolves @ San Diego State Aztecs (SD)": "https://tvpass.org/live/NCAAF21/sd", - "[NCAAF] Stony Brook Seawolves @ San Diego State Aztecs (HD)": "https://tvpass.org/live/NCAAF21/hd", - "[WNBA] Chicago Sky @ Phoenix Mercury (SD)": "https://tvpass.org/live/WNBA03/sd", - "[WNBA] Chicago Sky @ Phoenix Mercury (HD)": "https://tvpass.org/live/WNBA03/hd" + "[MLB] Boston Red Sox @ Baltimore Orioles (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-17/sd" + }, + "[MLB] Boston Red Sox @ Baltimore Orioles (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-17/hd" + }, + "[MLB] Arizona Diamondbacks @ Milwaukee Brewers (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-16/sd" + }, + "[MLB] Arizona Diamondbacks @ Milwaukee Brewers (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-16/hd" + }, + "[MLB] Colorado Rockies @ Houston Astros (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-06/sd" + }, + "[MLB] Colorado Rockies @ Houston Astros (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-06/hd" + }, + "[MLB] Pittsburgh Pirates @ St. Louis Cardinals (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-08/sd" + }, + "[MLB] Pittsburgh Pirates @ St. Louis Cardinals (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-08/hd" + }, + "[MLB] Chicago Cubs @ San Francisco Giants (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-27/sd" + }, + "[MLB] Chicago Cubs @ San Francisco Giants (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-27/hd" + }, + "[NCAAF] Boise State Broncos @ South Florida Bulls (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ESPN/sd" + }, + "[NCAAF] Boise State Broncos @ South Florida Bulls (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ESPN/hd" + }, + "[NCAAF] Ohio Bobcats @ Rutgers Scarlet Knights (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/BTN/sd" + }, + "[NCAAF] Ohio Bobcats @ Rutgers Scarlet Knights (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/BTN/hd" + }, + "[NCAAF] Lafayette Leopards @ Bowling Green Falcons (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF03/sd" + }, + "[NCAAF] Lafayette Leopards @ Bowling Green Falcons (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF03/hd" + }, + "[MLB] Atlanta Braves @ Philadelphia Phillies (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-18/sd" + }, + "[MLB] Atlanta Braves @ Philadelphia Phillies (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-18/hd" + }, + "[WNBA] Washington Mystics @ New York Liberty (SD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA01/sd" + }, + "[WNBA] Washington Mystics @ New York Liberty (HD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA01/hd" + }, + "[NCAAF] Wyoming Cowboys @ Akron Zips (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF06/sd" + }, + "[NCAAF] Wyoming Cowboys @ Akron Zips (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF06/hd" + }, + "[NCAAF] East Carolina Pirates @ NC State Wolfpack (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ACCNetwork/sd" + }, + "[NCAAF] East Carolina Pirates @ NC State Wolfpack (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ACCNetwork/hd" + }, + "[NCAAF] St. Francis (PA) Red Flash @ UL Monroe Warhawks (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF07/sd" + }, + "[NCAAF] St. Francis (PA) Red Flash @ UL Monroe Warhawks (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF07/hd" + }, + "[NCAAF] Delaware State Hornets @ Delaware Blue Hens (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF10/sd" + }, + "[NCAAF] Delaware State Hornets @ Delaware Blue Hens (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF10/hd" + }, + "[NCAAF] Jacksonville State Gamecocks @ UCF Knights (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF08/sd" + }, + "[NCAAF] Jacksonville State Gamecocks @ UCF Knights (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF08/hd" + }, + "[MLB] Miami Marlins @ New York Mets (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-24/sd" + }, + "[MLB] Miami Marlins @ New York Mets (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-24/hd" + }, + "[NCAAF] Central Arkansas Bears @ Missouri Tigers (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/SECN/sd" + }, + "[NCAAF] Central Arkansas Bears @ Missouri Tigers (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/SECN/hd" + }, + "[NCAAF] Elon Phoenix @ Duke Blue Devils (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF12/sd" + }, + "[NCAAF] Elon Phoenix @ Duke Blue Devils (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF12/hd" + }, + "[NCAAF] UT Martin Skyhawks @ Oklahoma State Cowboys (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF14/sd" + }, + "[NCAAF] UT Martin Skyhawks @ Oklahoma State Cowboys (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF14/hd" + }, + "[MLB] New York Yankees @ Chicago White Sox (SD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-03/sd" + }, + "[MLB] New York Yankees @ Chicago White Sox (HD)": { + "logo": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "url": "https://tvpass.org/live/mlb-03/hd" + }, + "[NCAAF] Buffalo Bulls @ Minnesota Golden Gophers (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/FoxSports1/sd" + }, + "[NCAAF] Buffalo Bulls @ Minnesota Golden Gophers (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/FoxSports1/hd" + }, + "[NCAAF] Stephen F. Austin Lumberjacks @ Houston Cougars (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF15/sd" + }, + "[NCAAF] Stephen F. Austin Lumberjacks @ Houston Cougars (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF15/hd" + }, + "[WNBA] Seattle Storm @ Minnesota Lynx (SD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA02/sd" + }, + "[WNBA] Seattle Storm @ Minnesota Lynx (HD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA02/hd" + }, + "[NCAAF] Alabama State Hornets @ UAB Blazers (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF18/sd" + }, + "[NCAAF] Alabama State Hornets @ UAB Blazers (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF18/hd" + }, + "[NCAAF] Nebraska Cornhuskers @ Cincinnati Bearcats (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ESPN/sd" + }, + "[NCAAF] Nebraska Cornhuskers @ Cincinnati Bearcats (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/ESPN/hd" + }, + "[NCAAF] Miami (OH) RedHawks @ Wisconsin Badgers (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/BTN/sd" + }, + "[NCAAF] Miami (OH) RedHawks @ Wisconsin Badgers (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/BTN/hd" + }, + "[NCAAF] Stony Brook Seawolves @ San Diego State Aztecs (SD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF21/sd" + }, + "[NCAAF] Stony Brook Seawolves @ San Diego State Aztecs (HD)": { + "logo": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "url": "https://tvpass.org/live/NCAAF21/hd" + }, + "[WNBA] Chicago Sky @ Phoenix Mercury (SD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA03/sd" + }, + "[WNBA] Chicago Sky @ Phoenix Mercury (HD)": { + "logo": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", + "url": "https://tvpass.org/live/WNBA03/hd" + } } -} +} \ No newline at end of file diff --git a/M3U8/scrape/tvpass.py b/M3U8/scrape/tvpass.py index 4bc8956..22fdb9a 100644 --- a/M3U8/scrape/tvpass.py +++ b/M3U8/scrape/tvpass.py @@ -12,7 +12,17 @@ base_file = Path(__file__).parent / "tvpass.json" TZ = pytz.timezone("America/New_York") -urls: dict[str, str] = {} +urls: dict[str, dict[str, str]] = {} + +logos = { + "MLB": "https://i.gyazo.com/ff3e375a48039d86d9b6216b213ad327.png", + "NBA": "https://i.gyazo.com/29485b295d32782bbae31a0b35de0970.png", + "NCAAF": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "NCAAB": "https://i.gyazo.com/ca63b40c86e757436de9d34d369b24f8.png", + "NFL": "https://i.gyazo.com/8581d3d8cd6d902029e0daf9ca087842.png", + "NHL": "https://i.gyazo.com/b634ca5b0d3f16f9863eca3b27568a10.png", + "WNBA": "https://i.gyazo.com/f356a338044d1dfa9eed11979f8cf13f.png", +} def cache_expired(t: float) -> bool: @@ -72,7 +82,7 @@ async def main(client: httpx.AsyncClient) -> None: tvg_id = tvg_id_match[1] if tvg_id_match else None tvg_name = tvg_name_match[1] if tvg_name_match else None - sport = group_title_match[1] if group_title_match else None + sport = group_title_match[1].upper().strip() if group_title_match else None if tvg_id == "": url = data[i + 1] @@ -80,11 +90,16 @@ async def main(client: httpx.AsyncClient) -> None: if tvg_name: tvg_name = "(".join(tvg_name.split("(")[:-1]).strip() + logo = logos.get( + sport, + "https://i.gyazo.com/ec27417a9644ae517196494afa72d2b9.png", + ) + if url.endswith("/sd"): - urls[f"[{sport}] {tvg_name} (SD)"] = url + urls[f"[{sport}] {tvg_name} (SD)"] = {"logo": logo, "url": url} elif url.endswith("/hd"): - urls[f"[{sport}] {tvg_name} (HD)"] = url + urls[f"[{sport}] {tvg_name} (HD)"] = {"logo": logo, "url": url} if urls: save_cache(urls)