From cc39853638757a4466ae118dc7ef0ea889a919c4 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 13 Nov 2012 11:39:27 +0100 Subject: [PATCH] mpd: Normalize file/filename filters to uri filters --- mopidy/backends/local/library.py | 4 ++-- mopidy/frontends/mpd/protocol/music_db.py | 4 ++-- tests/backends/base/library.py | 17 +++++------------ 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/mopidy/backends/local/library.py b/mopidy/backends/local/library.py index 9232225a..3454ca76 100644 --- a/mopidy/backends/local/library.py +++ b/mopidy/backends/local/library.py @@ -61,7 +61,7 @@ class LocalLibraryProvider(base.BaseLibraryProvider): result_tracks = filter(album_filter, result_tracks) elif field == 'artist': result_tracks = filter(artist_filter, result_tracks) - elif field in ('uri', 'filename'): + elif field == 'uri': result_tracks = filter(uri_filter, result_tracks) elif field == 'any': result_tracks = filter(any_filter, result_tracks) @@ -95,7 +95,7 @@ class LocalLibraryProvider(base.BaseLibraryProvider): result_tracks = filter(album_filter, result_tracks) elif field == 'artist': result_tracks = filter(artist_filter, result_tracks) - elif field in ('uri', 'filename'): + elif field == 'uri': result_tracks = filter(uri_filter, result_tracks) elif field == 'any': result_tracks = filter(any_filter, result_tracks) diff --git a/mopidy/frontends/mpd/protocol/music_db.py b/mopidy/frontends/mpd/protocol/music_db.py index d867de58..a9464241 100644 --- a/mopidy/frontends/mpd/protocol/music_db.py +++ b/mopidy/frontends/mpd/protocol/music_db.py @@ -24,8 +24,8 @@ def _build_query(mpd_query): field = m.groupdict()['field'].lower() if field == 'title': field = 'track' - elif field == 'file': - field = 'filename' + elif field in ('file', 'filename'): + field = 'uri' field = str(field) # Needed for kwargs keys on OS X and Windows what = m.groupdict()['what'].lower() if field in query: diff --git a/tests/backends/base/library.py b/tests/backends/base/library.py index d2e44140..0b32186f 100644 --- a/tests/backends/base/library.py +++ b/tests/backends/base/library.py @@ -81,13 +81,13 @@ class LibraryControllerTest(object): result = self.library.find_exact(album=['album2']) self.assertEqual(result, Playlist(tracks=self.tracks[1:2])) - def test_find_exact_filename(self): - track_1_filename = 'file://' + path_to_data_dir('uri1') - result = self.library.find_exact(filename=track_1_filename) + def test_find_exact_uri(self): + track_1_uri = 'file://' + path_to_data_dir('uri1') + result = self.library.find_exact(uri=track_1_uri) self.assertEqual(result, Playlist(tracks=self.tracks[:1])) - track_2_filename = 'file://' + path_to_data_dir('uri2') - result = self.library.find_exact(filename=track_2_filename) + track_2_uri = 'file://' + path_to_data_dir('uri2') + result = self.library.find_exact(uri=track_2_uri) self.assertEqual(result, Playlist(tracks=self.tracks[1:2])) def test_find_exact_wrong_type(self): @@ -148,13 +148,6 @@ class LibraryControllerTest(object): result = self.library.search(uri=['RI2']) self.assertEqual(result, Playlist(tracks=self.tracks[1:2])) - def test_search_filename(self): - result = self.library.search(filename=['RI1']) - self.assertEqual(result, Playlist(tracks=self.tracks[:1])) - - result = self.library.search(filename=['RI2']) - self.assertEqual(result, Playlist(tracks=self.tracks[1:2])) - def test_search_any(self): result = self.library.search(any=['Tist1']) self.assertEqual(result, Playlist(tracks=self.tracks[:1]))