35
35
class MusicBrainzPseudoReleasePlugin (MetadataSourcePlugin ):
36
36
def __init__ (self , * args , ** kwargs ) -> None :
37
37
super ().__init__ (* args , ** kwargs )
38
+
38
39
self .config .add ({"scripts" : [], "include_official_releases" : False })
40
+
39
41
self ._scripts = self .config ["scripts" ].as_str_seq ()
40
42
self ._mb = mbplugin .MusicBrainzPlugin ()
43
+
41
44
self ._pseudo_release_ids : dict [str , list [str ]] = {}
42
45
self ._intercepted_candidates : dict [str , AlbumInfo ] = {}
46
+ self ._mb_plugin_loaded_before = True
43
47
44
48
self .register_listener ("pluginload" , self ._on_plugins_loaded )
45
49
self .register_listener ("mb_album_extract" , self ._intercept_mb_releases )
@@ -59,6 +63,7 @@ def _on_plugins_loaded(self):
59
63
self_index = i
60
64
61
65
if mb_index and self_index < mb_index :
66
+ self ._mb_plugin_loaded_before = False
62
67
self ._log .warning (
63
68
"The mbpseudo plugin was loaded before the musicbrainz plugin"
64
69
", this will result in redundant network calls"
@@ -172,9 +177,12 @@ def candidates(
172
177
del self ._intercepted_candidates [official_release_id ]
173
178
return pseudo_releases
174
179
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
178
186
):
179
187
self ._log .debug (
180
188
"No releases found after main MusicBrainz plugin executed"
0 commit comments