From ef8c86dd3faffea9904d2ae78d0d072aed9a16fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Mon, 12 Jan 2026 16:09:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9cache=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=92=AD=E6=94=BE=E6=97=B6?= =?UTF-8?q?=E9=95=BF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/config.py | 2 +- xiaomusic/music_library.py | 19 +------------------ xiaomusic/music_url.py | 2 +- xiaomusic/static/default/setting.html | 2 +- 4 files changed, 4 insertions(+), 21 deletions(-) diff --git a/xiaomusic/config.py b/xiaomusic/config.py index 2c41019..2a2f34c 100644 --- a/xiaomusic/config.py +++ b/xiaomusic/config.py @@ -94,7 +94,7 @@ class Config: temp_path: str = os.getenv("XIAOMUSIC_TEMP_PATH", "music/tmp") download_path: str = os.getenv("XIAOMUSIC_DOWNLOAD_PATH", "music/download") conf_path: str = os.getenv("XIAOMUSIC_CONF_PATH", "conf") - cache_dir: str = os.getenv("XIAOMUSIC_CACHE_DIR", "cache") + cache_dir: str = os.getenv("XIAOMUSIC_CACHE_DIR", "music/cache") hostname: str = os.getenv("XIAOMUSIC_HOSTNAME", "192.168.2.5") port: int = int(os.getenv("XIAOMUSIC_PORT", "8090")) # 监听端口 public_port: int = int(os.getenv("XIAOMUSIC_PUBLIC_PORT", 0)) # 歌曲访问端口 diff --git a/xiaomusic/music_library.py b/xiaomusic/music_library.py index b904a1f..8291d67 100644 --- a/xiaomusic/music_library.py +++ b/xiaomusic/music_library.py @@ -897,24 +897,7 @@ class MusicLibrary: # 获取并缓存歌曲时长(如果还没有) if name in all_music_tags and "duration" not in all_music_tags[name]: try: - # 跳过电台 - if not self.is_web_radio_music(name): - duration = 0 - if self.is_web_music(name): - # 网络音乐 - duration, _ = await get_web_music_duration( - file_or_url, self.config - ) - self.log.info(f"网络音乐 {name} 时长: {duration} 秒") - elif os.path.exists(file_or_url): - # 本地音乐 - duration = await get_local_music_duration( - file_or_url, self.config - ) - self.log.info(f"本地音乐 {name} 时长: {duration} 秒") - - if duration > 0: - all_music_tags[name]["duration"] = duration + duration = await self.get_music_duration(name) except Exception as e: self.log.warning(f"获取歌曲 {name} 时长失败: {e}") diff --git a/xiaomusic/music_url.py b/xiaomusic/music_url.py index a06da61..af201c0 100644 --- a/xiaomusic/music_url.py +++ b/xiaomusic/music_url.py @@ -55,7 +55,7 @@ class MusicUrlHandler: self.log.info( f"get_music_sec_url. name:{name} url:{url} origin_url:{origin_url}" ) - sec = self.music_library.get_music_duration(name) + sec = await self.music_library.get_music_duration(name) return sec, url async def get_music_url(self, name): diff --git a/xiaomusic/static/default/setting.html b/xiaomusic/static/default/setting.html index 29a446d..71e4417 100644 --- a/xiaomusic/static/default/setting.html +++ b/xiaomusic/static/default/setting.html @@ -96,7 +96,7 @@ var vConsole = new window.VConsole(); - +