AI 生成: 途播播放器专用直播源,每天自动更新央视、卫视、地方台等频道,生成可访问的 M3U 格式文件。
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Flask Web 服务
|
||||
对外提供 m3u 文件访问,并支持手动触发更新
|
||||
"""
|
||||
|
||||
import os
|
||||
from flask import Flask, send_file, jsonify
|
||||
from updater import update, OUTPUT_FILE
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
"""首页,返回简单说明"""
|
||||
return jsonify({
|
||||
"name": "tubo-live-source",
|
||||
"description": "途播播放器专用直播源",
|
||||
"m3u": "/tubo.m3u",
|
||||
"update": "/update",
|
||||
})
|
||||
|
||||
|
||||
@app.route("/tubo.m3u")
|
||||
def m3u():
|
||||
"""返回 m3u 文件;若不存在则先更新一次"""
|
||||
if not os.path.exists(OUTPUT_FILE):
|
||||
update()
|
||||
return send_file(
|
||||
OUTPUT_FILE,
|
||||
mimetype="audio/x-mpegurl",
|
||||
as_attachment=False,
|
||||
download_name="tubo.m3u",
|
||||
)
|
||||
|
||||
|
||||
@app.route("/update")
|
||||
def manual_update():
|
||||
"""手动触发更新"""
|
||||
path = update()
|
||||
return jsonify({"status": "ok", "file": path})
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 启动前确保 m3u 存在
|
||||
if not os.path.exists(OUTPUT_FILE):
|
||||
update()
|
||||
app.run(host="0.0.0.0", port=8000)
|
||||
Reference in New Issue
Block a user