diff --git a/mopidy/mpd/protocol/music_db.py b/mopidy/mpd/protocol/music_db.py index 300f95e8..9497cde7 100644 --- a/mopidy/mpd/protocol/music_db.py +++ b/mopidy/mpd/protocol/music_db.py @@ -41,7 +41,9 @@ def _query_from_mpd_search_parameters(parameters, mapping): raise exceptions.MpdArgError('incorrect arguments') if not parameters: raise ValueError - query.setdefault(field, []).append(parameters.pop(0)) + value = parameters.pop(0) + if value.strip(): + query.setdefault(field, []).append(value) return query diff --git a/tests/mpd/protocol/test_music_db.py b/tests/mpd/protocol/test_music_db.py index 608bbf62..b19f29c0 100644 --- a/tests/mpd/protocol/test_music_db.py +++ b/tests/mpd/protocol/test_music_db.py @@ -15,6 +15,16 @@ class QueryFromMpdSearchFormatTest(unittest.TestCase): self.assertEqual(result['date'][0], '1974-01-02') self.assertEqual(result['date'][1], '1975') + def test_empty_value_is_ignored(self): + result = music_db._query_from_mpd_search_parameters( + ['Date', ''], music_db._SEARCH_MAPPING) + self.assertEqual(result, {}) + + def test_whitespace_value_is_ignored(self): + result = music_db._query_from_mpd_search_parameters( + ['Date', ' '], music_db._SEARCH_MAPPING) + self.assertEqual(result, {}) + # TODO Test more mappings