From: marcelveldt Date: Thu, 21 Nov 2019 12:20:18 +0000 (+0100) Subject: very small fixes X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=b7cf6d79083c8365cd4e524879344e63193c7ce2;p=music-assistant-server.git very small fixes --- diff --git a/music_assistant/database.py b/music_assistant/database.py index d5daa022..ff985305 100755 --- a/music_assistant/database.py +++ b/music_assistant/database.py @@ -124,13 +124,12 @@ class Database(): return prov_item_id sql_query = '''SELECT item_id FROM provider_mappings WHERE prov_item_id = ? AND provider = ? AND media_type = ?;''' - cursor = await self._db.execute(sql_query, - (prov_item_id, provider, media_type)) - item_id = await cursor.fetchone() - if item_id: - item_id = item_id[0] - await cursor.close() - return item_id + async with self._db.execute( + sql_query, (prov_item_id, provider, media_type)) as cursor: + item_id = await cursor.fetchone() + if item_id: + return item_id[0] + return None async def search(self, searchquery, media_types: List[MediaType]): ''' search library for the given searchphrase ''' diff --git a/music_assistant/models/musicprovider.py b/music_assistant/models/musicprovider.py index c269cae3..baa1c42b 100755 --- a/music_assistant/models/musicprovider.py +++ b/music_assistant/models/musicprovider.py @@ -37,7 +37,7 @@ class MusicProvider(): item_id = await self.mass.db.get_database_id(self.prov_id, prov_item_id, MediaType.Artist) - if not item_id: + if item_id is not None: # artist not yet in local database so fetch details cache_key = f'{self.prov_id}.get_artist.{prov_item_id}' artist_details = await cached(self.cache, cache_key, @@ -220,9 +220,13 @@ class MusicProvider(): track_artists = [] # we need to fetch track artists too for track_artist in track_details.artists: - db_track_artist = await self.artist(track_artist.item_id, - lazy=False, - ref_track=track_details) + if track_artist.provider == 'database': + db_track_artist = await self.mass.db.artist( + track_artist.item_id) + else: + db_track_artist = await self.artist(track_artist.item_id, + lazy=False, + ref_track=track_details) if db_track_artist: track_artists.append(db_track_artist) track_details.artists = track_artists