Skip to content

Commit df79a48

Browse files
committed
Execute even if loaded before MusicBrainz plugin
1 parent 252e5e2 commit df79a48

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

beetsplug/mbpseudo.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@
3535
class MusicBrainzPseudoReleasePlugin(MetadataSourcePlugin):
3636
def __init__(self, *args, **kwargs) -> None:
3737
super().__init__(*args, **kwargs)
38+
3839
self.config.add({"scripts": [], "include_official_releases": False})
40+
3941
self._scripts = self.config["scripts"].as_str_seq()
4042
self._mb = mbplugin.MusicBrainzPlugin()
43+
4144
self._pseudo_release_ids: dict[str, list[str]] = {}
4245
self._intercepted_candidates: dict[str, AlbumInfo] = {}
46+
self._mb_plugin_loaded_before = True
4347

4448
self.register_listener("pluginload", self._on_plugins_loaded)
4549
self.register_listener("mb_album_extract", self._intercept_mb_releases)
@@ -59,6 +63,7 @@ def _on_plugins_loaded(self):
5963
self_index = i
6064

6165
if mb_index and self_index < mb_index:
66+
self._mb_plugin_loaded_before = False
6267
self._log.warning(
6368
"The mbpseudo plugin was loaded before the musicbrainz plugin"
6469
", this will result in redundant network calls"
@@ -172,9 +177,12 @@ def candidates(
172177
del self._intercepted_candidates[official_release_id]
173178
return pseudo_releases
174179

175-
if any(
176-
isinstance(plugin, mbplugin.MusicBrainzPlugin)
177-
for plugin in find_plugins()
180+
if (
181+
any(
182+
isinstance(plugin, mbplugin.MusicBrainzPlugin)
183+
for plugin in find_plugins()
184+
)
185+
and self._mb_plugin_loaded_before
178186
):
179187
self._log.debug(
180188
"No releases found after main MusicBrainz plugin executed"

0 commit comments

Comments
 (0)