DopeIPTV pre-release 0.0.1-alpha
Pre-release
Pre-release
Follow-up features on top of the threading fixes from PR #1.
Key Changes
Movie & series details in the detail panel (previously empty outside live mode):
Movies: fetches get_vod_info and shows plot, genre, cast, director, release date, duration, and rating
Series: same via get_series_info; episodes show their own plot directly
Responses are cached per title; the EPG area always shows a loading note, a "no EPG" message, or an error message instead of empty space
EPG fallback chain and skewed-timestamp tolerance:
get_short_epg → get_simple_data_table → the provider's XMLTV guide (xmltv.php)
New XmltvGuide downloads and indexes the XMLTV feed once per session in a background thread, matching channels by epg_channel_id with a normalized-name fallback; only entries newer than 3 hours back are kept to bound memory
XMLTV entries are delivered in the Xtream entry format but flagged _plain so titles aren't mistakenly base64-decoded
If all EPG entries lie in the past (server-side timezone bug), the latest entries are shown anyway with dates and a note; upcoming programs are sorted by start time
Favorites in user-defined groups:
New ⭐ Favoriter tab; groups appear in the category list, "Alla" shows the deduplicated union
Right-click a channel → "Lägg till i favoritgrupp" (existing group or a new one via dialog); in the favorites view, right-click to remove a channel or a whole group
Stored as JSON in QSettings; playback and EPG work exactly like live mode
Verification
Exercised headless (offscreen QPA) against a mock Xtream server covering: movie info rendering, all three EPG fallback steps, past-only timestamps, a channel with no EPG anywhere, and the favorites flow (add, dedupe, group view, stream URL, removal, persistence).