badl/backend/__init__.py

47 lines
940 B
Python
Raw Normal View History

2023-03-04 18:18:39 +08:00
from bottle import request, response, Bottle, static_file
2023-02-21 19:56:22 +08:00
from manager import Manager
from json import dumps
2023-03-05 00:06:04 +08:00
from queue import SimpleQueue
2023-02-21 19:56:22 +08:00
manager = Manager()
app = Bottle()
2023-03-05 00:06:04 +08:00
action_queue = SimpleQueue()
path_queue = SimpleQueue()
2023-02-21 19:56:22 +08:00
2023-03-04 18:18:39 +08:00
@app.get("/")
def frontend():
return static_file("index.html", root="frontend/dist")
@app.get("/<filepath:path>")
def frontend(filepath):
return static_file(filepath, root="frontend/dist")
2023-02-21 19:56:22 +08:00
@app.post("/video")
def add_videos():
2023-02-23 21:43:58 +08:00
nvlist = request.json["nvlist"].split()
manager.add_videos_by_number(nvlist)
2023-02-21 19:56:22 +08:00
return "OK"
@app.get("/progress")
def get_progress():
response.content_type = "application/json"
return dumps(manager.get_progress())
2023-03-04 18:18:39 +08:00
@app.get("/download")
2023-02-21 19:56:22 +08:00
def download():
2023-03-04 18:18:39 +08:00
manager.download()
2023-03-04 13:53:05 +08:00
return "OK"
2023-03-04 18:18:39 +08:00
2023-03-05 00:06:04 +08:00
@app.post("/path")
2023-03-04 18:18:39 +08:00
def get_path():
2023-03-05 00:06:04 +08:00
path = request.json["path"]
action_queue.put(path)
manager.path = path_queue.get()
return manager.path