bugfix: ignore subdirectories of ignored

directories in unimported plugin
This commit is contained in:
Dr-Blank 2024-03-22 18:20:47 -04:00
parent b09806e0df
commit c88953805b
No known key found for this signature in database
GPG key ID: 7452CC63F210A266

View file

@ -41,15 +41,17 @@ class Unimported(BeetsPlugin):
os.path.join(lib.directory, x.encode())
for x in self.config["ignore_subdirectories"].as_str_seq()
]
in_folder = {
os.path.join(r, file)
for r, d, f in os.walk(lib.directory)
for file in f
if not any(
[file.endswith(ext) for ext in ignore_exts]
+ [r in ignore_dirs]
)
}
in_folder = set()
for root, _, files in os.walk(lib.directory):
# do not traverse if root is a child of an ignored directory
if any(root.startswith(ignored) for ignored in ignore_dirs):
continue
for file in files:
# ignore files with ignored extensions
if any(file.endswith(ext) for ext in ignore_exts):
continue
in_folder.add(os.path.join(root, file))
in_library = {x.path for x in lib.items()}
art_files = {x.artpath for x in lib.albums()}
for f in in_folder - in_library - art_files: