This commit is contained in:
codey 2024-08-11 17:33:33 -04:00
parent 447bcbc3fa
commit 7baa1c5d25

View File

@ -21,6 +21,7 @@ class LastFM(FastAPI):
self.endpoints = {
"get_artist_by_name": self.artist_by_name_handler,
"get_artist_albums": self.artist_album_handler,
#tbd
}
@ -49,3 +50,30 @@ class LastFM(FastAPI):
'success': True,
'result': artist_result
}
async def artist_album_handler(self, data: ValidArtistSearchRequest):
"""
Get artist's albums/releases
"""
artist = data.a.strip()
if not artist:
return {
'err': True,
'errorText': 'No artist specified'
}
album_result = await self.lastfm.get_artist_albums(artist=artist)
album_result_out = []
seen_release_titles = []
for release in album_result:
release_title = release.get('title')
if release_title.lower() in seen_release_titles:
continue
seen_release_titles.append(release_title.lower())
album_result_out.append(release)
return {
'success': True,
'result': album_result_out
}