Resolves #10
This commit is contained in:
parent
447bcbc3fa
commit
7baa1c5d25
@ -21,6 +21,7 @@ class LastFM(FastAPI):
|
|||||||
|
|
||||||
self.endpoints = {
|
self.endpoints = {
|
||||||
"get_artist_by_name": self.artist_by_name_handler,
|
"get_artist_by_name": self.artist_by_name_handler,
|
||||||
|
"get_artist_albums": self.artist_album_handler,
|
||||||
#tbd
|
#tbd
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,3 +50,30 @@ class LastFM(FastAPI):
|
|||||||
'success': True,
|
'success': True,
|
||||||
'result': artist_result
|
'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
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user