def build_m3u(lines, extended=False): output = io.StringIO() if extended: output.write('#EXTM3U\n') for line in lines: line = line.strip() if not line: continue if extended: # Placeholder duration (-1) and title (basename) title = line.split('/')[-1] output.write(f'#EXTINF:-1,title\n') output.write(f'line\n') return output.getvalue().encode('utf-8')
app = Flask(__name__)
@app.route('/convert', methods=['POST']) def convert(): txt = request.files.get('file') if not txt: abort(400, 'No file uploaded') lines = txt.read().decode('utf-8').splitlines() extended = request.form.get('extended') == 'true' m3u_bytes = build_m3u(lines, extended) return send_file( io.BytesIO(m3u_bytes), mimetype='audio/x-mpegurl', as_attachment=True, download_name='playlist.m3u' ) Txt To M3u Online Converter
from flask import Flask, request, send_file, abort import io import re def build_m3u(lines, extended=False): output = io
def is_url(line): return re.match(r'^https?://', line.strip(), re.IGNORECASE) extended) return send_file( io.BytesIO(m3u_bytes)