From 7a32917b6307955bf9cec6425140072841e88dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sat, 24 Feb 2024 12:58:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=97=B6=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=B8=80=E6=AC=A1=E6=92=AD=E6=94=BE=E5=88=97=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E4=B8=80=E9=A6=96=E8=B6=8A=E7=95=8C?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 69f8b2f8b..a4bd79cc9 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -79,6 +79,9 @@ def __init__(self, config: Config): self.log.addHandler(RichHandler()) self.log.debug(config) + # 启动时重新生成一次播放列表 + self.gen_all_music_list() + async def poll_latest_ask(self): async with ClientSession() as session: session._cookie_jar = self.cookie_jar @@ -324,6 +327,8 @@ async def download(self, name): # 本地是否存在歌曲 def get_filename(self, name): + if name not in self._all_music: + return "" filename = self._all_music[name] self.log.debug("try get_filename. filename:%s", filename) if os.path.exists(filename): @@ -374,10 +379,6 @@ def add_download_music(self, name): # 获取下一首 def get_next_music(self): play_list_len = len(self._play_list) - if play_list_len == 0: - # 尝试重新生成一次播放列表 - self.gen_all_music_list() - play_list_len = len(self._play_list) if play_list_len == 0: self.log.warning(f"没有随机到歌曲") return "" @@ -388,7 +389,7 @@ def get_next_music(self): except ValueError: pass next_index = index + 1 - if next_index > play_list_len: + if next_index >= play_list_len: next_index = 0 filename = self._play_list[next_index] return filename