This commit is contained in:
@@ -74,6 +74,11 @@ class IPTVHandler(BaseHTTPRequestHandler):
|
||||
self.end_headers()
|
||||
self.wfile.write(body.encode("utf-8"))
|
||||
|
||||
def _extinf_channel(self, cid: str, name: str) -> str:
|
||||
"""Build EXTINF line with tvg-id for EPG matching and persistence."""
|
||||
safe = lambda s: (s or "").replace("\\", "\\\\").replace('"', '\\"')
|
||||
return f'#EXTINF:-1 tvg-id="{safe(cid)}" tvg-name="{safe(name)}",{name}'
|
||||
|
||||
def send_channels_m3u(self):
|
||||
"""Master M3U for Plex DVR: one live stream URL per channel."""
|
||||
base = get_base_url(self)
|
||||
@@ -82,7 +87,7 @@ class IPTVHandler(BaseHTTPRequestHandler):
|
||||
for ch in channels:
|
||||
cid = ch.get("id", ch.get("name", ""))
|
||||
name = ch.get("name", cid)
|
||||
lines.append(f"#EXTINF:-1,{name}")
|
||||
lines.append(self._extinf_channel(cid, name))
|
||||
lines.append(f"{base}/live/{cid}")
|
||||
body = "\n".join(lines) + "\n"
|
||||
self.send_response(200)
|
||||
|
||||
Reference in New Issue
Block a user