From 4a7b5ac2b0f14e5d8a55acc750a79127597b9a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Mon, 15 Jul 2024 07:07:16 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=B6=E6=9B=B4=E6=96=B0=E9=A1=B5=E9=9D=A2=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update-static-version.py | 59 +++++++++++++++++++++++++++++++++++ xiaomusic/cli.py | 1 + xiaomusic/static/app.js | 9 ++++-- xiaomusic/static/debug.html | 4 +-- xiaomusic/static/index.html | 8 ++--- xiaomusic/static/m3u.html | 2 +- xiaomusic/static/setting.html | 10 +++--- 7 files changed, 79 insertions(+), 14 deletions(-) create mode 100755 update-static-version.py diff --git a/update-static-version.py b/update-static-version.py new file mode 100755 index 0000000..72712d7 --- /dev/null +++ b/update-static-version.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 + +import re +import sys +from pathlib import Path + + +def get_html_files(directory): + """ + 获取指定目录下所有HTML文件的列表。 + + :param directory: 搜索HTML文件的目录。 + :return: 搜索到的HTML文件的路径列表。 + """ + return list(Path(directory).rglob("*.html")) + + +def update_html_version(html_files, version): + """ + 更新HTML文件中所有以 /static/ 开头的CSS和JS文件引用的版本号。 + + :param html_files: 需要更新的HTML文件路径的列表。 + :param version: 新的版本号字符串。 + """ + pattern = re.compile(r"(/static/[a-zA-Z0-9_.-]+)(\?version=[0-9.a-zA-Z_-]*)?") + + for html_file in html_files: + if not html_file.exists(): + print(f"文件 {html_file} 不存在。") + continue + + html_content = html_file.read_text() + + # 更新CSS和JS版本号 + html_content = pattern.sub(r"\g<1>?version=" + version, html_content) + + # 保存更改到HTML文件 + html_file.write_text(html_content) + + print(f"文件 {html_file} 已更新为使用新的版本号: {version}") + + +# 使用案例 +if __name__ == "__main__": + # 导入 xiaomusic 包以获取 __version__ 变量 + try: + from xiaomusic import __version__ as new_version + except ImportError as e: + print("无法导入版本号:", e) + sys.exit(1) + + # 指定目录 + html_directory = "xiaomusic/static" # 修改为实际的HTML文件目录路径 + + # 获取HTML文件列表 + html_files_to_update = get_html_files(html_directory) + + # 执行更新 + update_html_version(html_files_to_update, new_version) diff --git a/xiaomusic/cli.py b/xiaomusic/cli.py index 8ca86b6..c62e355 100644 --- a/xiaomusic/cli.py +++ b/xiaomusic/cli.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 import argparse import uvicorn diff --git a/xiaomusic/static/app.js b/xiaomusic/static/app.js index a29ab06..739eaca 100644 --- a/xiaomusic/static/app.js +++ b/xiaomusic/static/app.js @@ -24,8 +24,13 @@ $(function(){ localStorage.setItem('mi_did', data.mi_did); var did = localStorage.getItem('cur_did'); - if ((did == null || did == "") && data.mi_did != null) { - var dids = data.mi_did.split(','); + var dids = []; + if (data.mi_did != null) { + dids = data.mi_did.split(','); + } + console.log('cur_did', did); + console.log('dids', dids); + if ((dids.length > 0) && (did == null || did == "" || !dids.includes(did))) { did = dids[0]; localStorage.setItem('cur_did', did); } diff --git a/xiaomusic/static/debug.html b/xiaomusic/static/debug.html index 29b3943..612ae50 100644 --- a/xiaomusic/static/debug.html +++ b/xiaomusic/static/debug.html @@ -5,9 +5,9 @@ Debug For XiaoMusic - + - + - - + + +