From: kaliko Date: Fri, 15 May 2020 15:45:03 +0000 (+0200) Subject: MPD client: Improved search_track X-Git-Tag: 0.16.0.dev0~6 X-Git-Url: https://git.kaliko.me/?a=commitdiff_plain;h=1c604b5636af7f7eae4d74d5c6de31f4f431b97b;p=mpd-sima.git MPD client: Improved search_track --- diff --git a/sima/mpdclient.py b/sima/mpdclient.py index 0866e4c..bbc7e07 100644 --- a/sima/mpdclient.py +++ b/sima/mpdclient.py @@ -421,20 +421,21 @@ class MPD(MPDClient): all_artist_titles = frozenset([tr.title for tr in all_tracks if tr.title is not None]) match = get_close_matches(title, all_artist_titles, 50, 0.78) + tracks = [] if not match: return [] for mtitle in match: - leven = levenshtein_ratio(title.lower(), mtitle.lower()) + leven = levenshtein_ratio(title, mtitle) if leven == 1: - pass - elif leven >= 0.79: # PARAM + tracks.extend([t for t in all_tracks if t.title == mtitle]) + elif leven >= 0.77: self.log.debug('title: "%s" should match "%s" (lr=%1.3f)', mtitle, title, leven) + tracks.extend([t for t in all_tracks if t.title == mtitle]) else: self.log.debug('title: "%s" does not match "%s" (lr=%1.3f)', mtitle, title, leven) - return [] - return self.find('artist', artist, 'title', mtitle) + return tracks @blacklist(album=True) def search_albums(self, artist):