From a3c9a6261cc1d804cd94efde43f8274123313e71 Mon Sep 17 00:00:00 2001 From: NFL_jiancx <1678594309@qq.com> Date: Thu, 1 May 2025 12:58:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(file):=20=E4=BF=AE=E5=A4=8D=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=AD=8C=E6=9B=B2=E6=97=B6=E7=9A=84=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E9=97=AE=E9=A2=98=E5=B9=B6=E4=BC=98=E5=8C=96=E6=AD=8C?= =?UTF-8?q?=E8=AF=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在删除歌曲时,先尝试停止播放并删除关联的歌词文件 - 优化文件名处理,避免特殊字符导致的文件名错误 - 更新歌词显示逻辑,修复歌词格式问题 - 版本号更新至 4.2.2 --- NFLmusic.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/NFLmusic.py b/NFLmusic.py index 5c792e9..2f5caf4 100644 --- a/NFLmusic.py +++ b/NFLmusic.py @@ -222,6 +222,7 @@ def download_music(song_name, choose): music_url = resp.json()["music_url"] else: lrc = "" + lrc = lrc.replace("\\n", "\n") print("请求api:", url) response = requests.get(music_url, stream=True) print("下载直链:", music_url) @@ -229,11 +230,12 @@ def download_music(song_name, choose): if formated not in ["m4a", "mp3", "ogg", "flac"]: formated = "mp3" filename_without_endswith = f"{singer} - {music_name}" + filename_without_endswith = filename_without_endswith.replace("\\", "#").replace("/", "#") + filename_without_endswith = filename_without_endswith.replace(":", "#").replace("*", "#") + filename_without_endswith = filename_without_endswith.replace("?", "#").replace("\"", "#") + filename_without_endswith = filename_without_endswith.replace("<", "#").replace(">", "#").replace("|", "#") + filename = f"{filename_without_endswith}.{formated}" - filename = filename.replace("\\", "#").replace("/", "#") - filename = filename.replace(":", "#").replace("*", "#") - filename = filename.replace("?", "#").replace("\"", "#") - filename = filename.replace("<", "#").replace(">", "#").replace("|", "#") temp_filename = f"{filename}.crdownload" if path == "./music": @@ -423,19 +425,30 @@ def delete(): file.endswith(('.mp3', '.flac', '.ogg', '.m4a'))] abs_path = path + "/" + music_dir0[listbox1.curselection()[0]] abs_path_lrc = path + "/" + music_dir_without_endswith0[listbox1.curselection()[0]] + ".lrc" - music_dir_without_endswith.remove(filtered_list[listbox1.curselection()[0]]) os.remove(abs_path) try: os.remove(abs_path_lrc) except: pass + music_dir_without_endswith.remove(filtered_list[listbox1.curselection()[0]]) music_dir.remove(music_dir[listbox1.curselection()[0]]) listbox1.delete(listbox1.curselection()[0]) except IndexError: tkinter.messagebox.showwarning(title=lang.get(la, "mbox.title.delete_fail"), message=lang.get(la, "mbox.text.delete_fail_no_target", )) except PermissionError: - tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"), + try: + music_player.stop_music() + os.remove(abs_path) + try: + os.remove(abs_path_lrc) + except: + pass + music_dir_without_endswith.remove(filtered_list[listbox1.curselection()[0]]) + music_dir.remove(music_dir[listbox1.curselection()[0]]) + listbox1.delete(listbox1.curselection()[0]) + except: + tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"), message=lang.get(la, "mbox.text.delete_fail_no_permission", )) except FileNotFoundError: tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"), @@ -1310,7 +1323,7 @@ def search_local_song(): time.sleep(1) -version = "4.2.1" +version = "4.2.2" poem = "" appdata = os.getenv("APPDATA") make_resource()