mirror of
https://github.com/beetbox/beets.git
synced 2025-12-06 08:39:17 +01:00
Do not force load musicbrainz, add a test to show the behaviour
This commit is contained in:
parent
b643fc4ce5
commit
dd72704d3d
3 changed files with 43 additions and 10 deletions
|
|
@ -6,8 +6,7 @@ statefile: state.pickle
|
||||||
|
|
||||||
# --------------- Plugins ---------------
|
# --------------- Plugins ---------------
|
||||||
|
|
||||||
plugins: []
|
plugins: [musicbrainz]
|
||||||
disabled_plugins: []
|
|
||||||
|
|
||||||
pluginpath: []
|
pluginpath: []
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -417,20 +417,18 @@ def get_plugin_names() -> list[str]:
|
||||||
beets.config.add({"disabled_plugins": []})
|
beets.config.add({"disabled_plugins": []})
|
||||||
disabled_plugins = set(beets.config["disabled_plugins"].as_str_seq())
|
disabled_plugins = set(beets.config["disabled_plugins"].as_str_seq())
|
||||||
# TODO: Remove in v3.0.0
|
# TODO: Remove in v3.0.0
|
||||||
if "musicbrainz" not in plugins and "musicbrainz" not in disabled_plugins:
|
mb_enabled = beets.config["musicbrainz"].flatten().get("enabled")
|
||||||
|
if mb_enabled:
|
||||||
deprecate_for_user(
|
deprecate_for_user(
|
||||||
log,
|
log,
|
||||||
"Automatic loading of 'musicbrainz' plugin",
|
"'musicbrainz.enabled' configuration option",
|
||||||
"'plugins' configuration to explicitly add 'musicbrainz'",
|
"'plugins' configuration to explicitly add 'musicbrainz'",
|
||||||
)
|
)
|
||||||
|
if "musicbrainz" not in plugins:
|
||||||
enabled = beets.config["musicbrainz"].flatten().get("enabled")
|
plugins.append("musicbrainz")
|
||||||
if enabled is not None:
|
elif mb_enabled is False:
|
||||||
deprecate_for_user(log, "'musicbrainz.enabled' configuration option")
|
deprecate_for_user(log, "'musicbrainz.enabled' configuration option")
|
||||||
if enabled is False:
|
|
||||||
disabled_plugins.add("musicbrainz")
|
disabled_plugins.add("musicbrainz")
|
||||||
else:
|
|
||||||
plugins.append("musicbrainz")
|
|
||||||
|
|
||||||
return [p for p in plugins if p not in disabled_plugins]
|
return [p for p in plugins if p not in disabled_plugins]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -543,3 +543,39 @@ class TestDeprecationCopy:
|
||||||
assert hasattr(LegacyMetadataPlugin, "data_source_mismatch_penalty")
|
assert hasattr(LegacyMetadataPlugin, "data_source_mismatch_penalty")
|
||||||
assert hasattr(LegacyMetadataPlugin, "_extract_id")
|
assert hasattr(LegacyMetadataPlugin, "_extract_id")
|
||||||
assert hasattr(LegacyMetadataPlugin, "get_artist")
|
assert hasattr(LegacyMetadataPlugin, "get_artist")
|
||||||
|
|
||||||
|
|
||||||
|
class TestMusicBrainzPluginLoading:
|
||||||
|
@pytest.fixture(autouse=True)
|
||||||
|
def config(self):
|
||||||
|
_config = config
|
||||||
|
_config.sources = []
|
||||||
|
_config.read(user=False, defaults=True)
|
||||||
|
return _config
|
||||||
|
|
||||||
|
def test_default(self):
|
||||||
|
assert "musicbrainz" in plugins.get_plugin_names()
|
||||||
|
|
||||||
|
def test_other_plugin_enabled(self, config):
|
||||||
|
config["plugins"] = ["anything"]
|
||||||
|
|
||||||
|
assert "musicbrainz" not in plugins.get_plugin_names()
|
||||||
|
|
||||||
|
def test_deprecated_enabled(self, config, caplog):
|
||||||
|
config["plugins"] = ["anything"]
|
||||||
|
config["musicbrainz"]["enabled"] = True
|
||||||
|
|
||||||
|
assert "musicbrainz" in plugins.get_plugin_names()
|
||||||
|
assert (
|
||||||
|
"musicbrainz.enabled' configuration option is deprecated"
|
||||||
|
in caplog.text
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_deprecated_disabled(self, config, caplog):
|
||||||
|
config["musicbrainz"]["enabled"] = False
|
||||||
|
|
||||||
|
assert "musicbrainz" not in plugins.get_plugin_names()
|
||||||
|
assert (
|
||||||
|
"musicbrainz.enabled' configuration option is deprecated"
|
||||||
|
in caplog.text
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue