You've already forked RadioPlayer
mirror of
https://github.com/radio95-rnt/RadioPlayer.git
synced 2026-02-26 21:53:54 +01:00
imc in web
This commit is contained in:
@@ -6,6 +6,7 @@ from http.server import HTTPServer, BaseHTTPRequestHandler
|
|||||||
manager = multiprocessing.Manager()
|
manager = multiprocessing.Manager()
|
||||||
data = manager.dict()
|
data = manager.dict()
|
||||||
data_lock = manager.Lock()
|
data_lock = manager.Lock()
|
||||||
|
imc_q = manager.Queue()
|
||||||
|
|
||||||
class Handler(BaseHTTPRequestHandler):
|
class Handler(BaseHTTPRequestHandler):
|
||||||
def do_GET(self):
|
def do_GET(self):
|
||||||
@@ -19,6 +20,15 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
self.send_header("Content-Length", str(len(rdata)))
|
self.send_header("Content-Length", str(len(rdata)))
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.wfile.write(rdata)
|
self.wfile.write(rdata)
|
||||||
|
def send_response(self, code, message=None):
|
||||||
|
self.send_response_only(code, message)
|
||||||
|
self.send_header('Server', self.version_string())
|
||||||
|
self.send_header('Date', self.date_time_string())
|
||||||
|
def do_POST(self):
|
||||||
|
global imc_q
|
||||||
|
if self.path == "/api/skip": imc_q.put({"name": "procman", "data": {"op": 2}})
|
||||||
|
self.send_response(200)
|
||||||
|
self.end_headers()
|
||||||
|
|
||||||
def web(): HTTPServer(("0.0.0.0", 3001), Handler).serve_forever()
|
def web(): HTTPServer(("0.0.0.0", 3001), Handler).serve_forever()
|
||||||
p = multiprocessing.Process(target=web)
|
p = multiprocessing.Process(target=web)
|
||||||
@@ -37,6 +47,11 @@ class Module(PlayerModule):
|
|||||||
if next_track: next_track_data = {"path": str(next_track.path), "fade_out": next_track.fade_out, "fade_in": next_track.fade_in, "official": next_track.official, "args": next_track.args, "offset": next_track.offset}
|
if next_track: next_track_data = {"path": str(next_track.path), "fade_out": next_track.fade_out, "fade_in": next_track.fade_in, "official": next_track.official, "args": next_track.args, "offset": next_track.offset}
|
||||||
else: next_track_data = None
|
else: next_track_data = None
|
||||||
data["track"] = json.dumps({"index": index, "track": track_data, "next_track": next_track_data})
|
data["track"] = json.dumps({"index": index, "track": track_data, "next_track": next_track_data})
|
||||||
|
def progress(self, index: int, track: Track, elapsed: float, total: float, real_total: float) -> None:
|
||||||
|
try: data = imc_q.get(False)
|
||||||
|
except Exception: return
|
||||||
|
|
||||||
|
self._imc.send(self, data["name"], data["data"])
|
||||||
def shutdown(self):
|
def shutdown(self):
|
||||||
global p
|
global p
|
||||||
p.terminate()
|
p.terminate()
|
||||||
|
|||||||
Reference in New Issue
Block a user