diff --git a/xiaomusic/config.py b/xiaomusic/config.py
index 3e9b45f..7ae848e 100644
--- a/xiaomusic/config.py
+++ b/xiaomusic/config.py
@@ -81,6 +81,8 @@ class Config:
)
httpauth_username: str = os.getenv("XIAOMUSIC_HTTPAUTH_USERNAME", "admin")
httpauth_password: str = os.getenv("XIAOMUSIC_HTTPAUTH_PASSWORD", "admin")
+ music_list_url: str = os.getenv("XIAOMUSIC_MUSIC_LIST_URL", "")
+ music_list_json: str = os.getenv("XIAOMUSIC_MUSIC_LIST_JSON", "")
def __post_init__(self) -> None:
if self.proxy:
diff --git a/xiaomusic/httpserver.py b/xiaomusic/httpserver.py
index 4629429..92ad497 100644
--- a/xiaomusic/httpserver.py
+++ b/xiaomusic/httpserver.py
@@ -12,6 +12,9 @@ from xiaomusic import (
from xiaomusic.config import (
KEY_WORD_DICT,
)
+from xiaomusic.utils import (
+ downloadfile,
+)
app = Flask(__name__)
auth = HTTPBasicAuth()
@@ -109,6 +112,8 @@ async def getsetting():
"mi_hardware_list": alldevices["hardware_list"],
"xiaomusic_search": config.search_prefix,
"xiaomusic_proxy": config.proxy,
+ "xiaomusic_music_list_url": config.music_list_url,
+ "xiaomusic_music_list_json": config.music_list_json,
}
return data
@@ -143,6 +148,18 @@ def delmusic():
return "success"
+@app.route("/downloadjson", methods=["POST"])
+@auth.login_required
+def downloadjson():
+ data = request.get_json()
+ log.info(data)
+ ret, content = downloadfile(data["url"])
+ return {
+ "ret": ret,
+ "content": content,
+ }
+
+
def static_path_handler(filename):
log.debug(filename)
log.debug(static_path)
diff --git a/xiaomusic/static/setting.html b/xiaomusic/static/setting.html
index 45ada77..3564c0e 100644
--- a/xiaomusic/static/setting.html
+++ b/xiaomusic/static/setting.html
@@ -22,9 +22,14 @@
+
+
+
+
+