From 04e5d0083d190e25e76e595d477443a98a637fcb Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 9 Mar 2026 17:55:19 -0400 Subject: [PATCH] CI: skip discogs tests when discogs_client missing, guard empty items, reset config in test --- beetsplug/discogs/__init__.py | 3 +++ test/plugins/test_discogs.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/beetsplug/discogs/__init__.py b/beetsplug/discogs/__init__.py index b3d013edc..2e2977657 100644 --- a/beetsplug/discogs/__init__.py +++ b/beetsplug/discogs/__init__.py @@ -287,6 +287,9 @@ class DiscogsPlugin(SearchApiMetadataSourcePlugin[IDResponse]): filters: dict[str, str] = {"type": "release"} + if not items: + return query, filters + for tag, api_field in self.extra_discogs_field_by_tag.items(): # The Discogs search API does not provide direct equivalents for # MusicBrainz "alias" or "tracks" search fields, so we ignore diff --git a/test/plugins/test_discogs.py b/test/plugins/test_discogs.py index 45d98839e..51b1e3e01 100644 --- a/test/plugins/test_discogs.py +++ b/test/plugins/test_discogs.py @@ -18,6 +18,8 @@ from unittest.mock import Mock, patch import pytest +pytest.importorskip("discogs_client", reason="discogs optional dependency not installed") + from beets import config from beets.library import Item from beets.test._common import Bag @@ -500,6 +502,7 @@ class DGSearchQueryTest(BeetsTestCase): assert filters["label"] == "abc" # Catalog number should have whitespace removed. assert filters["catno"] == "ABC123" + config["discogs"]["extra_tags"] = [] @pytest.mark.parametrize(