modifyng search_by_artist_and_album
This commit is contained in:
parent
511a101c2c
commit
6857653cdb
1 changed files with 18 additions and 19 deletions
|
@ -138,31 +138,30 @@ class SubidyLibraryProvider(backend.LibraryProvider):
|
||||||
return SearchResult(tracks=[track])
|
return SearchResult(tracks=[track])
|
||||||
|
|
||||||
def search_by_artist_and_album(self, artist_name, album_name):
|
def search_by_artist_and_album(self, artist_name, album_name):
|
||||||
artists = self.subsonic_api.get_raw_artists()
|
artists = self.subsonic_api.find_raw(artist_name).get("artist")
|
||||||
artist = next(
|
if artists is None:
|
||||||
item for item in artists if artist_name in item.get("name")
|
return None
|
||||||
)
|
tracks = []
|
||||||
albums = self.subsonic_api.get_raw_albums(artist.get("id"))
|
for artist in artists:
|
||||||
album = next(item for item in albums if album_name in item.get("title"))
|
for album in self.subsonic_api.get_raw_albums(artist.get("id")):
|
||||||
return SearchResult(
|
if album_name in album.get("name"):
|
||||||
tracks=self.subsonic_api.get_songs_as_tracks(album.get("id"))
|
tracks.extend(
|
||||||
)
|
self.subsonic_api.get_songs_as_tracks(album.get("id"))
|
||||||
|
)
|
||||||
|
return SearchResult(tracks=tracks)
|
||||||
|
|
||||||
def search_by_artist(self, artist_search):
|
def search_by_artist(self, artist_name):
|
||||||
result = self.subsonic_api.find_raw(artist_search)
|
result = self.subsonic_api.find_raw(artist_name)
|
||||||
if result is None:
|
if result is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
tracks = []
|
tracks = []
|
||||||
for artist in result.get("artist"):
|
for artist in result.get("artist"):
|
||||||
albums = self.subsonic_api.get_raw_albums(artist.get("id"))
|
tracks.extend(
|
||||||
for album in albums:
|
self.subsonic_api.get_artist_as_songs_as_tracks_iter(
|
||||||
tracks.extend(
|
artist.get("id")
|
||||||
self.subsonic_api.get_songs_as_tracks(album.get("id"))
|
|
||||||
)
|
)
|
||||||
return SearchResult(
|
)
|
||||||
uri=uri.get_search_uri(artist_search), tracks=tracks
|
return SearchResult(uri=uri.get_search_uri(artist_name), tracks=tracks)
|
||||||
)
|
|
||||||
|
|
||||||
def get_distinct(self, field, query):
|
def get_distinct(self, field, query):
|
||||||
search_result = self.search(query)
|
search_result = self.search(query)
|
||||||
|
|
Loading…
Add table
Reference in a new issue