From 3f7c3cf6d761a321ec175b726ef2cd62d302bef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Thu, 20 Aug 2026 15:53:04 +0100 Subject: [PATCH] discogs: also search using title without remix --- beetsplug/discogs/__init__.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/beetsplug/discogs/__init__.py b/beetsplug/discogs/__init__.py index b2f265e04..f2b09c8a6 100644 --- a/beetsplug/discogs/__init__.py +++ b/beetsplug/discogs/__init__.py @@ -238,17 +238,22 @@ class DiscogsPlugin(SearchApiMetadataSourcePlugin[IDResponse]): if "various" in artist.lower(): artist = item.artist - def get_query(artist: str) -> str: - return clean_query(f"{remove_va_ft(artist).strip()} - {name}") + artist = remove_va_ft(artist).strip() - _results: Iterable[AlbumInfo] - if not (_results := list(self.get_albums(get_query(artist)))): - _results = self.get_albums(get_query(get_first_artist(artist))) + def get_albums(query: str) -> Iterator[AlbumInfo]: + return self.get_albums(clean_query(query)) + + queries = ( + f"{artist} - {name}", + f"{get_first_artist(artist)} - {name}", + f"{artist} - {get_title_without_remix(name)}", + ) + _results = next((filter(None, map(list, map(get_albums, queries)))), []) results.extend(_results) if not results and items and item.label and item.album: query = f"{item.label} {item.album}" - results.extend(self.get_albums(clean_query(query))) + results.extend(get_albums(query)) return results