0
1
mirror of https://github.com/radio95-rnt/RadioPlayer.git synced 2026-02-26 21:53:54 +01:00
Files
RadioPlayer/modules/web.py
2025-12-06 17:51:01 +01:00

32 lines
687 B
Python

import multiprocessing
from . import PlayerModule, Track
from flask import Flask
manager = multiprocessing.Manager()
data = manager.dict()
data_lock = manager.Lock()
app = Flask(__name__)
app.logger.disabled = True
@app.route("/")
def home():
global data, data_lock
with data_lock: return repr(data["playlist"])
def web():
app.run("0.0.0.0", 3001)
p = multiprocessing.Process(target=web)
class Module(PlayerModule):
def on_new_playlist(self, playlist: list[Track]) -> None:
global data, data_lock
with data_lock: data["playlist"] = playlist
def shutdown(self):
global p
p.terminate()
p.join()
module = Module()
p.start()