diff --git a/mopidy/backends/base.py b/mopidy/backends/base.py index 899c3923..495aa07d 100644 --- a/mopidy/backends/base.py +++ b/mopidy/backends/base.py @@ -78,3 +78,7 @@ class BaseBackend(object): # Stored playlist methods def playlists_list(self): return None + +# Music database methods + def search(self, type, what): + return None diff --git a/mopidy/backends/spotify.py b/mopidy/backends/spotify.py index 00083f75..b339b5d4 100644 --- a/mopidy/backends/spotify.py +++ b/mopidy/backends/spotify.py @@ -195,3 +195,8 @@ class SpotifyBackend(BaseBackend): def url_handlers(self): return [u'spotify:', u'http://open.spotify.com/'] + +# Music database methods + def search(self, type, what): + result = self.spotify.search(encode(u'%s:%s' % (type, what))) + return self._format_playlist(result.playlist.tracks) diff --git a/mopidy/handler.py b/mopidy/handler.py index 3b625e64..cf07e44e 100644 --- a/mopidy/handler.py +++ b/mopidy/handler.py @@ -323,7 +323,7 @@ class MpdHandler(object): @register(r'^search "(?P(album|artist|filename|title))" "(?P.+)"$') def _search(self, type, what): - pass # TODO + return self.backend.search(type, what) @register(r'^seek (?P.+) (?P\d+)$') def _seek(self, songpos, seconds):