#!/usr/bin/env python3
import subprocess
import os

# ======================
# CONFIG
# ======================
STREAM_URL = "https://www.tf1.fr/connexion-avec-la-maison-26232089/direct"
OUTPUT_PATH = "/var/www/html/secret_story.m3u8"

EMAIL = os.environ.get("STAR_EMAIL") or "h5wbr6x8hw@privaterelay.appleid.com"
PASSWORD = os.environ.get("STAR_PASSWORD") or "tintin06R3MY!"


def main():
    print("🔹 Récupération du flux via Streamlink...")

    result = subprocess.run(
        [
            "streamlink",
            "--tf1-purge-credentials",
            f"--tf1-email={EMAIL}",
            f"--tf1-password={PASSWORD}",
            STREAM_URL,
            "--stream-url",
        ],
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        text=True
    )

    if result.returncode != 0 or not result.stdout.strip():
        print("❌ Erreur : aucun flux récupéré.")
        print(result.stderr)
        return

    url = result.stdout.strip()
    base_url = url[:url.rfind("/") + 1] if "/" in url else url
    print(f"✅ Base URL récupérée : {base_url}")

    # ✅ Structure fidèle au vrai m3u8 TF1
    m3u8_content = f"""#EXTM3U
#EXT-X-VERSION:6
#EXT-X-MEDIA:TYPE=AUDIO,URI="{base_url}AMG-mp4a_140800_fra=20000.m3u8",GROUP-ID="audio-AACL-141",LANGUAGE="fr",NAME="Français",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2"
#EXT-X-STREAM-INF:BANDWIDTH=1555627,AVERAGE-BANDWIDTH=1414207,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1024x576,FRAME-RATE=25.000,AUDIO="audio-AACL-141",CLOSED-CAPTIONS=NONE
{base_url}AMG-avc1_1200000=10000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2138589,AVERAGE-BANDWIDTH=1944174,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1024x576,FRAME-RATE=25.000,AUDIO="audio-AACL-141",CLOSED-CAPTIONS=NONE
{base_url}AMG-avc1_1699968=10001.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3071389,AVERAGE-BANDWIDTH=2792174,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,AUDIO="audio-AACL-141",CLOSED-CAPTIONS=NONE
{base_url}AMG-avc1_2499968=10002.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=4237389,AVERAGE-BANDWIDTH=3852174,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,AUDIO="audio-AACL-141",CLOSED-CAPTIONS=NONE
{base_url}AMG-avc1_3499968=10003.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5986427,AVERAGE-BANDWIDTH=5442207,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=25.000,AUDIO="audio-AACL-141",CLOSED-CAPTIONS=NONE
{base_url}AMG-avc1_5000000=10004.m3u8
#EXT-X-INDEPENDENT-SEGMENTS
"""

    with open(OUTPUT_PATH, "w", encoding="utf-8") as f:
        f.write(m3u8_content)

    print(f"💾 Fichier master.m3u8 généré : {OUTPUT_PATH}")


if __name__ == "__main__":
    main()