From: Jonathan Date: Fri, 26 May 2023 22:12:02 +0000 (+0200) Subject: [Deezer] Optimizations: Stop checking if track is available all the time (#683) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=01cc240325204028dc68dc8f07e609d2b22ec898;p=music-assistant-server.git [Deezer] Optimizations: Stop checking if track is available all the time (#683) Stop checking if track is available all the time --- diff --git a/music_assistant/server/providers/deezer/__init__.py b/music_assistant/server/providers/deezer/__init__.py index 36625c02..fa9efe01 100644 --- a/music_assistant/server/providers/deezer/__init__.py +++ b/music_assistant/server/providers/deezer/__init__.py @@ -217,8 +217,7 @@ class DeezerProvider(MusicProvider): async def get_library_tracks(self) -> AsyncGenerator[Track, None]: """Retrieve all library tracks from Deezer.""" for track in await self.client.get_user_tracks(): - if self.track_available(track, self.gw_client.user_country): - yield self.parse_track(track=track, user_country=self.gw_client.user_country) + yield self.parse_track(track=track, user_country=self.gw_client.user_country) async def get_artist(self, prov_artist_id: str) -> Artist: """Get full artist details by id.""" @@ -251,7 +250,6 @@ class DeezerProvider(MusicProvider): return [ self.parse_track(track=track, user_country=self.gw_client.user_country) for track in album.tracks - if self.track_available(track, self.gw_client.user_country) ] async def get_playlist_tracks(self, prov_playlist_id: str) -> AsyncGenerator[Track, None]: @@ -278,7 +276,6 @@ class DeezerProvider(MusicProvider): return [ self.parse_track(track=track, user_country=self.gw_client.user_country) for track in top_tracks - if self.track_available(track, self.gw_client.user_country) ] async def library_add(self, prov_item_id: str, media_type: MediaType) -> bool: @@ -534,7 +531,7 @@ class DeezerProvider(MusicProvider): item_id=str(track.id), provider_domain=self.domain, provider_instance=self.instance_id, - available=user_country in track.available_countries, + available=self.track_available(track, user_country), ) }, metadata=self.parse_metadata_track(track=track), @@ -546,11 +543,7 @@ class DeezerProvider(MusicProvider): ) -> list[Track]: """Search for tracks and parse them.""" deezer_tracks = await self.client.search_track(query=query, limit=limit) - return [ - self.parse_track(track, user_country) - for track in deezer_tracks - if self.track_available(track, user_country) - ] + return [self.parse_track(track, user_country) for track in deezer_tracks] async def search_and_parse_artists(self, query: str, limit: int = 5) -> list[Artist]: """Search for artists and parse them."""