e
This commit is contained in:
parent
22d53cf707
commit
00000d9b50
3 changed files with 73 additions and 36 deletions
|
|
@ -5,10 +5,10 @@ from pathlib import Path
|
|||
import httpx
|
||||
from scrape import fstv, tvpass
|
||||
|
||||
m3u8_file = Path(__file__).parent / "TV.m3u8"
|
||||
|
||||
base_url = "https://s.id/ePwXT"
|
||||
|
||||
m3u8_file = Path(__file__).parent / "TV.m3u8"
|
||||
|
||||
client = httpx.AsyncClient(
|
||||
timeout=5,
|
||||
follow_redirects=True,
|
||||
|
|
|
|||
|
|
@ -1,22 +1,61 @@
|
|||
{
|
||||
"_timestamp": 1756394172.403869,
|
||||
"urls": {
|
||||
"[MLB] Washington Nationals @ New York Yankees": "https://tvpass.org/live/mlb-15/sd",
|
||||
"[MLB] Atlanta Braves @ Miami Marlins": "https://tvpass.org/live/mlb-07/sd",
|
||||
"[MLB] Tampa Bay Rays @ Cleveland Guardians": "https://tvpass.org/live/mlb-30/sd",
|
||||
"[MLB] San Diego Padres @ Seattle Mariners": "https://tvpass.org/live/mlb-10/sd",
|
||||
"[MLB] Boston Red Sox @ Baltimore Orioles": "https://tvpass.org/live/mlb-17/sd",
|
||||
"[MLB] Minnesota Twins @ Toronto Blue Jays": "https://tvpass.org/live/mlb-12/sd",
|
||||
"[MLB] Philadelphia Phillies @ New York Mets": "https://tvpass.org/live/mlb-24/sd",
|
||||
"[NBATV] Las Vegas Aces @ Atlanta Dream": "https://tvpass.org/live/NBATV/sd",
|
||||
"[MLB] Kansas City Royals @ Chicago White Sox": "https://tvpass.org/live/mlb-03/sd",
|
||||
"[MLB] Arizona Diamondbacks @ Milwaukee Brewers": "https://tvpass.org/live/mlb-16/sd",
|
||||
"[MLB] Pittsburgh Pirates @ St. Louis Cardinals": "https://tvpass.org/live/mlb-08/sd",
|
||||
"[WNBA] Connecticut Sun @ Dallas Wings": "https://tvpass.org/live/WNBA02/sd",
|
||||
"[MLB] Los Angeles Angels @ Texas Rangers": "https://tvpass.org/live/mlb-13/sd",
|
||||
"[MLB] Colorado Rockies @ Houston Astros": "https://tvpass.org/live/mlb-06/sd",
|
||||
"[MLB] Cincinnati Reds @ Los Angeles Dodgers": "https://tvpass.org/live/mlb-14/sd",
|
||||
"[MLB] Chicago Cubs @ San Francisco Giants": "https://tvpass.org/live/mlb-27/sd",
|
||||
"[MLB] Detroit Tigers @ Oakland Athletics": "https://tvpass.org/live/mlb-19/sd"
|
||||
}
|
||||
}
|
||||
{
|
||||
"_timestamp": 1756397743.720503,
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@ import json
|
|||
import re
|
||||
from datetime import datetime, timedelta
|
||||
from pathlib import Path
|
||||
from urllib.parse import urlparse
|
||||
|
||||
import httpx
|
||||
import pytz
|
||||
|
||||
base_url = "https://tvpass.org/playlist/m3u"
|
||||
|
||||
base_file = Path(__file__).parent / "tvpass.json"
|
||||
|
||||
urls: dict[str, str] = {}
|
||||
|
||||
TZ = pytz.timezone("America/New_York")
|
||||
|
||||
urls: dict[str, str] = {}
|
||||
|
||||
|
||||
def cache_expired(t: float) -> bool:
|
||||
now = datetime.now(TZ)
|
||||
|
|
@ -64,29 +64,27 @@ async def main(client: httpx.AsyncClient) -> None:
|
|||
if not (data := await fetch_m3u8(client)):
|
||||
return
|
||||
|
||||
for i, line in enumerate(data[:-1]):
|
||||
for i, line in enumerate(data):
|
||||
if line.startswith("#EXTINF"):
|
||||
tvg_id_match = re.search(r'tvg-id="([^"]*)"', line)
|
||||
tvg_name_match = re.search(r'tvg-name="([^"]*)"', line)
|
||||
group_title_match = re.search(r'group-title="([^"]*)"', line)
|
||||
|
||||
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
|
||||
|
||||
if tvg_id == "":
|
||||
url = data[i + 1]
|
||||
|
||||
if tvg_name:
|
||||
tvg_name = tvg_name.split("(")[0].strip()
|
||||
tvg_name = "(".join(tvg_name.split("(")[:-1]).strip()
|
||||
|
||||
if url.endswith("/sd"):
|
||||
path_parts = urlparse(url).path.strip("/").split("/")
|
||||
urls[f"[{sport}] {tvg_name} (SD)"] = url
|
||||
|
||||
if len(path_parts) >= 2 and path_parts[-1] == "sd":
|
||||
sport = "".join(x for x in path_parts[1] if x.isalpha()).upper()
|
||||
else:
|
||||
sport = "UNKNWN"
|
||||
|
||||
urls[f"[{sport}] {tvg_name}"] = url
|
||||
elif url.endswith("/hd"):
|
||||
urls[f"[{sport}] {tvg_name} (HD)"] = url
|
||||
|
||||
if urls:
|
||||
save_cache(urls)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue