From f2af5f87784467aae159b1a7c209f12e4b828e1f Mon Sep 17 00:00:00 2001 From: dunkla Date: Sun, 28 Dec 2025 15:12:32 +0100 Subject: [PATCH] simplify check for fallback in beetsplug/lastgenre/__init__.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Šarūnas Nejus --- beetsplug/lastgenre/__init__.py | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/beetsplug/lastgenre/__init__.py b/beetsplug/lastgenre/__init__.py index 67145b18b..1fc191a81 100644 --- a/beetsplug/lastgenre/__init__.py +++ b/beetsplug/lastgenre/__init__.py @@ -473,22 +473,15 @@ class LastGenrePlugin(plugins.BeetsPlugin): return result # Nothing found, leave original if configured and valid. - if obj.genre and self.config["keep_existing"]: - # Check if at least one genre is valid - valid_genres = [ - g - for g in genres - if not self.whitelist or self._is_valid(g.lower()) - ] - if valid_genres: + if genres and self.config["keep_existing"]: + if valid_genres := self._filter_valid(genres): return valid_genres, "original fallback" - else: - # If the original genre doesn't match a whitelisted genre, check - # if we can canonicalize it to find a matching, whitelisted genre! - if result := _try_resolve_stage( - "original fallback", keep_genres, [] - ): - return result + # If the original genre doesn't match a whitelisted genre, check + # if we can canonicalize it to find a matching, whitelisted genre! + if result := _try_resolve_stage( + "original fallback", keep_genres, [] + ): + return result # Return fallback as a list. if fallback := self.config["fallback"].get(): @@ -505,7 +498,6 @@ class LastGenrePlugin(plugins.BeetsPlugin): obj.genres, label = self._get_genre(obj) self._log.debug("Resolved ({}): {}", label, obj.genres) - ui.show_model_changes(obj, fields=["genres"], print_obj=False) @singledispatchmethod