From 00000d9b7c2d1e176e336e4fdb3a5c56f0bcf6df Mon Sep 17 00:00:00 2001 From: doms9 <96013514+doms9@users.noreply.github.com> Date: Fri, 15 May 2026 01:20:20 -0400 Subject: [PATCH] e - remove dami.py - misc edits. --- M3U8/fetch.py | 3 -- M3U8/scrapers/dami.py | 80 ---------------------------------- M3U8/scrapers/utils/webwork.py | 2 - 3 files changed, 85 deletions(-) delete mode 100644 M3U8/scrapers/dami.py diff --git a/M3U8/fetch.py b/M3U8/fetch.py index debf125c..d332d533 100644 --- a/M3U8/fetch.py +++ b/M3U8/fetch.py @@ -6,7 +6,6 @@ from pathlib import Path from playwright.async_api import async_playwright from scrapers import ( cdnlivetv, - dami, embedhd, fawa, fsports, @@ -66,7 +65,6 @@ async def main() -> None: ] httpx_tasks = [ - # asyncio.create_task(dami.scrape()), asyncio.create_task(fawa.scrape()), asyncio.create_task(istreameast.scrape()), asyncio.create_task(mainportal.scrape()), @@ -95,7 +93,6 @@ async def main() -> None: additions = ( cdnlivetv.urls - | dami.urls | embedhd.urls | fawa.urls | fsports.urls diff --git a/M3U8/scrapers/dami.py b/M3U8/scrapers/dami.py deleted file mode 100644 index 78b01586..00000000 --- a/M3U8/scrapers/dami.py +++ /dev/null @@ -1,80 +0,0 @@ -from .utils import Cache, Time, get_logger, leagues, network - -log = get_logger(__name__) - -urls: dict[str, dict[str, str | float]] = {} - -TAG = "DAMI" - -CACHE_FILE = Cache(TAG, exp=28_800) - -API_URL = "https://api.ppv.to/api/streams" -# "https://api.ppv.cx/api/streams" -# "https://api.ppv.sh/api/streams" - - -async def get_events() -> dict[str, dict[str, str | float]]: - now = Time.clean(Time.now()) - - events = {} - - if not (r := await network.request(API_URL, log=log)): - return events - - api_data: dict[str, dict] = r.json() - - for stream_group in api_data.get("streams", []): - sport = stream_group["category"] - - if sport == "24/7 Streams": - continue - - for event in stream_group.get("streams", []): - name = event.get("name") - - start_ts = event.get("starts_at") - - logo = event.get("poster") - - uri_name = event.get("uri_name") - - if not (name and start_ts and uri_name): - continue - - event_dt = Time.from_ts(start_ts) - - if event_dt.date() != now.date(): - continue - - key = f"[{sport}] {name} ({TAG})" - - tvg_id, pic = leagues.get_tvg_info(sport, name) - - events[key] = { - "url": f"https://dami-tv.pro/live-hls/channel/{uri_name}/playlist.m3u8", - "logo": logo or pic, - "base": f"https://dami-tv.pro/player/auto/?match={uri_name}", - "timestamp": now.timestamp(), - "id": tvg_id or "Live.Event.us", - } - - return events - - -async def scrape() -> None: - if cached_urls := CACHE_FILE.load(): - urls.update(cached_urls) - - log.info(f"Loaded {len(urls)} event(s) from cache") - - return - - log.info(f'Scraping from "{API_URL}"') - - events = await get_events() - - urls.update(events) - - log.info(f"Collected and cached {len(urls)} event(s)") - - CACHE_FILE.write(urls) diff --git a/M3U8/scrapers/utils/webwork.py b/M3U8/scrapers/utils/webwork.py index b09a1e32..c8a0c607 100644 --- a/M3U8/scrapers/utils/webwork.py +++ b/M3U8/scrapers/utils/webwork.py @@ -47,8 +47,6 @@ class Network: self.client = httpx.AsyncClient(**client_params) - self.unvd_client = httpx.AsyncClient(**client_params, verify=False) - async def request( self, url: str,