def getAlbumData(connection, albumId): res = connection.getMusicDirectory(albumId) songs = res.get('directory', {}).get('child', []) if not isinstance(songs, list): songs = [songs] songs = [itemDecodeHtml(song) for song in songs if not song.get('isFolder', False)] #hide duplicates by name uniqueSongs = [] for song in songs: if unicode(song.get('title', '')).lower() not in [unicode(track.get('title', '')).lower() for track in uniqueSongs]: uniqueSongs.append(itemDecodeHtml(song)) songs = uniqueSongs[:] return songs, res
def getArtistData(connection, artistId): artist = connection.getMusicDirectory(artistId) directories = artist.get('directory', {}).get('child', []) if not isinstance(directories, list): directories = [directories] albums = [itemDecodeHtml(dir) for dir in directories if dir.get('isDir', False)] if len(albums)!=len(directories): tracks = [itemDecodeHtml(item) for item in directories if not item.get('isDir', False)] artist = { 'title':tracks[0].get('album', 'Unknown'), 'id':artistId, 'coverArt':tracks[0].get('coverArt', ''), } albums.append(artist) return albums, artist