import subprocess

OUTPUT_FILE = "stream_url.txt"

def generate_m3u8_content(streamlink_url):
    try:
        result = subprocess.run(
            [
                "streamlink",
                streamlink_url,
                "--stream-url"
            ],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )

        if result.returncode == 0:
            stream_url = result.stdout.strip()

            # Écriture de l'URL dans le fichier txt
            with open(OUTPUT_FILE, "w") as f:
                f.write(stream_url)

            m3u8_content = (
                "#EXTM3U\n"
                "#EXT-X-VERSION:6\n"
                "#EXT-X-INDEPENDENT-SEGMENTS\n"
                "#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000\n"
                f"{stream_url}\n"
            )
            return m3u8_content

        else:
            print("https://raw.githubusercontent.com/LeBazarDeBryan/XTVZ_/main/Images/Offline.mp4")
            print("\n")
            print("#Error: Streamlink: stdout:", result.stdout.strip())
            print("#Error: Streamlink: stderr:", result.stderr.strip())
            return None

    except Exception as e:
        print("https://raw.githubusercontent.com/LeBazarDeBryan/XTVZ_/main/Images/Offline.mp4")
        print("\n")
        print(f"#Error: {e}")
        return None


m3u8_content = generate_m3u8_content("https://www.france.tv/sport/direct.html")
if m3u8_content:
    print(m3u8_content)
