From 881c34bcb55f9a057eba6d2adf4e9151b0b8d679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sun, 16 Jun 2024 05:40:30 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BF=BD=E7=95=A5=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/config.py | 1 + xiaomusic/xiaomusic.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/xiaomusic/config.py b/xiaomusic/config.py index 875006d..a0bcd0b 100644 --- a/xiaomusic/config.py +++ b/xiaomusic/config.py @@ -95,6 +95,7 @@ class Config: ) # "bilisearch:" or "ytsearch:" ffmpeg_location: str = os.getenv("XIAOMUSIC_FFMPEG_LOCATION", "./ffmpeg/bin") active_cmd: str = os.getenv("XIAOMUSIC_ACTIVE_CMD", "play,random_play") + exclude_dirs: str = os.getenv("XIAOMUSIC_EXCLUDE_DIRS", "@eadir") def __post_init__(self) -> None: if self.proxy: diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 0259213..2bec4b1 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -62,6 +62,7 @@ class XiaoMusic: self.search_prefix = config.search_prefix self.ffmpeg_location = config.ffmpeg_location self.active_cmd = config.active_cmd.split(",") + self.exclude_dirs = set(config.exclude_dirs.split(",")) # 下载对象 self.download_proc = None @@ -347,6 +348,7 @@ class XiaoMusic: self._all_music = {} all_music_by_dir = {} for root, dirs, filenames in os.walk(self.music_path): + dirs[:] = [d for d in dirs if d not in self.exclude_dirs] self.log.debug("root:%s dirs:%s music_path:%s", root, dirs, self.music_path) dir_name = os.path.basename(root) if self.music_path == root: