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: []
|
||||
disabled_plugins: []
|
||||
plugins: [musicbrainz]
|
||||
|
||||
pluginpath: []
|
||||
|
||||
|
|
|
|||
|
|
@ -417,20 +417,18 @@ def get_plugin_names() -> list[str]:
|
|||
beets.config.add({"disabled_plugins": []})
|
||||
disabled_plugins = set(beets.config["disabled_plugins"].as_str_seq())
|
||||
# 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(
|
||||
log,
|
||||
"Automatic loading of 'musicbrainz' plugin",
|
||||
"'musicbrainz.enabled' configuration option",
|
||||
"'plugins' configuration to explicitly add 'musicbrainz'",
|
||||
)
|
||||
|
||||
enabled = beets.config["musicbrainz"].flatten().get("enabled")
|
||||
if enabled is not None:
|
||||
deprecate_for_user(log, "'musicbrainz.enabled' configuration option")
|
||||
if enabled is False:
|
||||
disabled_plugins.add("musicbrainz")
|
||||
else:
|
||||
if "musicbrainz" not in plugins:
|
||||
plugins.append("musicbrainz")
|
||||
elif mb_enabled is False:
|
||||
deprecate_for_user(log, "'musicbrainz.enabled' configuration option")
|
||||
disabled_plugins.add("musicbrainz")
|
||||
|
||||
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, "_extract_id")
|
||||
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