From 8da2495e833ebb1115a1d0f59a660cd1d80f2f98 Mon Sep 17 00:00:00 2001 From: Trygve Aaberge Date: Mon, 24 Dec 2012 00:29:37 +0100 Subject: [PATCH 1/3] spotify: Only return available tracks from lookups --- mopidy/backends/spotify/library.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mopidy/backends/spotify/library.py b/mopidy/backends/spotify/library.py index a42fc21f..8e8e47f9 100644 --- a/mopidy/backends/spotify/library.py +++ b/mopidy/backends/spotify/library.py @@ -84,7 +84,10 @@ class SpotifyLibraryProvider(base.BaseLibraryProvider): track = Link.from_string(uri).as_track() self._wait_for_object_to_load(track) if track.is_loaded(): - return [SpotifyTrack(track=track)] + if track.availability() == 1: + return [SpotifyTrack(track=track)] + else: + return None else: return [SpotifyTrack(uri=uri)] @@ -92,18 +95,18 @@ class SpotifyLibraryProvider(base.BaseLibraryProvider): album = Link.from_string(uri).as_album() album_browser = self.backend.spotify.session.browse_album(album) self._wait_for_object_to_load(album_browser) - return [SpotifyTrack(track=t) for t in album_browser] + return [SpotifyTrack(track=t) for t in album_browser if t.availability() == 1] def _lookup_artist(self, uri): artist = Link.from_string(uri).as_artist() artist_browser = self.backend.spotify.session.browse_artist(artist) self._wait_for_object_to_load(artist_browser) - return [SpotifyTrack(track=t) for t in artist_browser] + return [SpotifyTrack(track=t) for t in artist_browser if t.availability() == 1] def _lookup_playlist(self, uri): playlist = Link.from_string(uri).as_playlist() self._wait_for_object_to_load(playlist) - return [SpotifyTrack(track=t) for t in playlist] + return [SpotifyTrack(track=t) for t in playlist if t.availability() == 1] def _wait_for_object_to_load( self, spotify_obj, timeout=settings.SPOTIFY_TIMEOUT): From 2a487ecd303e09f4471a887ed02801c5f29d901b Mon Sep 17 00:00:00 2001 From: Trygve Aaberge Date: Mon, 24 Dec 2012 01:39:56 +0100 Subject: [PATCH 2/3] spotify: Fix flake8 warnings --- mopidy/backends/spotify/library.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mopidy/backends/spotify/library.py b/mopidy/backends/spotify/library.py index 8e8e47f9..f3406821 100644 --- a/mopidy/backends/spotify/library.py +++ b/mopidy/backends/spotify/library.py @@ -95,18 +95,24 @@ class SpotifyLibraryProvider(base.BaseLibraryProvider): album = Link.from_string(uri).as_album() album_browser = self.backend.spotify.session.browse_album(album) self._wait_for_object_to_load(album_browser) - return [SpotifyTrack(track=t) for t in album_browser if t.availability() == 1] + return [ + SpotifyTrack(track=t) + for t in album_browser if t.availability() == 1] def _lookup_artist(self, uri): artist = Link.from_string(uri).as_artist() artist_browser = self.backend.spotify.session.browse_artist(artist) self._wait_for_object_to_load(artist_browser) - return [SpotifyTrack(track=t) for t in artist_browser if t.availability() == 1] + return [ + SpotifyTrack(track=t) + for t in artist_browser if t.availability() == 1] def _lookup_playlist(self, uri): playlist = Link.from_string(uri).as_playlist() self._wait_for_object_to_load(playlist) - return [SpotifyTrack(track=t) for t in playlist if t.availability() == 1] + return [ + SpotifyTrack(track=t) + for t in playlist if t.availability() == 1] def _wait_for_object_to_load( self, spotify_obj, timeout=settings.SPOTIFY_TIMEOUT): From 75279721fb41d88bf27fe3dd8629f49a8485cb57 Mon Sep 17 00:00:00 2001 From: Trygve Aaberge Date: Mon, 24 Dec 2012 01:41:08 +0100 Subject: [PATCH 3/3] spotify: Return [] instead of None in _lookup_track --- mopidy/backends/spotify/library.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mopidy/backends/spotify/library.py b/mopidy/backends/spotify/library.py index f3406821..a39d674a 100644 --- a/mopidy/backends/spotify/library.py +++ b/mopidy/backends/spotify/library.py @@ -87,7 +87,7 @@ class SpotifyLibraryProvider(base.BaseLibraryProvider): if track.availability() == 1: return [SpotifyTrack(track=track)] else: - return None + return [] else: return [SpotifyTrack(uri=uri)]