#!/usr/bin/env python3
"""极简静态服务：托管 live.m3u，带 CORS 头（浏览器端播放直播源不会被跨域拦）。"""
import argparse
import functools
import http.server
import mimetypes

mimetypes.add_type('audio/x-mpegurl', '.m3u')
mimetypes.add_type('application/vnd.apple.mpegurl', '.m3u8')
mimetypes.add_type('application/xml', '.xml')


class Handler(http.server.SimpleHTTPRequestHandler):
    def end_headers(self):
        self.send_header('Access-Control-Allow-Origin', '*')
        self.send_header('Access-Control-Allow-Methods', 'GET, HEAD, OPTIONS')
        self.send_header('Access-Control-Allow-Headers', '*')
        self.send_header('Cache-Control', 'no-cache')
        super().end_headers()

    def do_OPTIONS(self):
        self.send_response(204)
        self.end_headers()

    def log_message(self, fmt, *args):
        pass


def main():
    ap = argparse.ArgumentParser()
    ap.add_argument('--dir', default='.')
    ap.add_argument('--port', type=int, default=8099)
    a = ap.parse_args()
    handler = functools.partial(Handler, directory=a.dir)
    http.server.ThreadingHTTPServer(('0.0.0.0', a.port), handler).serve_forever()


if __name__ == '__main__':
    main()
