How hirotomasato/sportku works
SportKu fetches a remote M3U playlist, parses channel records, downloads channel logos, and writes a cleaned playlist plus statistics. The daily GitHub Actions workflow is the documented automation entry point; consumers access the generated playlist from the repository. The source excerpt establishes the scraper’s internal calls and file outputs, while the workflow implementation itself was not sampled.
Main entry points: m3u_scraper.py Scraper runner · auto-update.yml Update workflow · sportku.m3u M3U playlist · config.json Scraper config
Components 17
Automation
- Daily schedule
.github/workflows/auto-update.yml - Update workflow
.github/workflows/auto-update.yml
Scraping
- Scraper config
config.json - Scraper runner
src/m3u_scraper.py - Playlist fetch
src/m3u_scraper.py - M3U parser
src/m3u_scraper.py - Channel records
src/m3u_scraper.py - Logo downloader
src/m3u_scraper.py - Playlist renderer
src/m3u_scraper.py
Generated outputs
- Logo files
logos - Output writer
src/m3u_scraper.py - M3U playlist
output/sportku.m3u - Statistics report
output/stats.json
Playlist delivery
- GitHub repository hosting
- IPTV players
Other components
- Source playlist
- Logo hosts
Connections 21
- Daily schedule → Update workflow: triggers
- Update workflow → Scraper runner: runs
- Scraper runner → Scraper config: loads
- Scraper runner → Playlist fetch: calls
- Playlist fetch → Source playlist: fetches
- Scraper runner → M3U parser: calls
- Playlist fetch → M3U parser: returns content
- M3U parser → Channel records: creates
- Scraper runner → Logo downloader: calls
- Logo downloader → Logo hosts: downloads from
- Logo downloader → Logo files: writes
- Logo downloader → Channel records: updates logo paths
- Scraper runner → Playlist renderer: calls
- Playlist renderer → Channel records: reads
- Playlist renderer → M3U playlist: produces content for
- Scraper runner → Output writer: calls
- Output writer → M3U playlist: writes
- Output writer → Statistics report: writes
- Update workflow → GitHub repository hosting: updates repository
- GitHub repository hosting → M3U playlist: serves
- IPTV players → GitHub repository hosting: loads playlist