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(