X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fplugins%2Finternal%2Ftags.py;h=c891b779893f50f232d3d3b2bfab7f6d8e151b37;hb=e86c25ed9e97c5dd3e0672d5b17bed01d4a23fdf;hp=70d1a03e06609aaa774e94ade588ab98717d8cca;hpb=f4fb163f42b5847be7c67e31bf5154d6eb09175f;p=mpd-sima.git diff --git a/sima/plugins/internal/tags.py b/sima/plugins/internal/tags.py index 70d1a03..c891b77 100644 --- a/sima/plugins/internal/tags.py +++ b/sima/plugins/internal/tags.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2020 kaliko +# Copyright (c) 2020, 2021 kaliko # # This file is part of sima # @@ -42,13 +42,13 @@ def control_config(tags_config): if not tags_config.get('filter', None) and \ config_tags.isdisjoint(sup_tags): log.warning('Found no config for Tags plugin! ' - 'Need at least "filter" or a supported tag') + 'Need at least "filter" or a supported tag') log.info('Supported Tags are : %s', ', '.join(sup_tags)) # raise PluginException('plugin misconfiguration') return False if config_tags.difference(sup_tags): log.error('Found unsupported tag in config: %s', - config_tags.difference(sup_tags)) + config_tags.difference(sup_tags)) # raise PluginException('plugin misconfiguration') return False return True @@ -117,9 +117,9 @@ class Tags(AdvancedPlugin): if self.plugin_conf['filter']: # Use window to limit response size self.player.find(self.plugin_conf['filter'], "window", (0, 1)) - except CommandError: + except CommandError as err: raise PluginException('Badly formated filter in tags plugin configuration: "%s"' - % self.plugin_conf['filter']) + % self.plugin_conf['filter']) from err def callback_need_track(self): candidates = [] @@ -137,7 +137,9 @@ class Tags(AdvancedPlugin): for artist in artists: self.log.debug('looking for %s', artist) tracks = self.player.find_tracks(artist) - trk = self.filter_track(tracks) + if not tracks: + continue + trk = self.filter_track(tracks, candidates) if not trk: continue if queue_mode == 'track':