In the scope of this PR the new logic has been removed for albums. So for albums flexColumns are hardcoded and for playlist they are still resolved using navigationEndpoints. There are border cases with columns without navigationEndpoint, where I have to guess their meaning. Those cases are different for albums and for playlists, so I cannot use the same logic for both methods. Albums always have the same order of flexColumns, so dynamic resolving is not needed there.
Now it's safe to assume that first column without navigationEndpoint is an artist column.
Additionally I added some tests for get_playlist. I prepared json for collaborative playlist with all types of tracks that has been problematic in the recent days:
regular song
uploaded song
unofficial video
podcast episode
Asserts will check if all those tracks have title and artist and if there is album for regular songs. I added the same asserts for already existing tests with mocked jsons in get_playlist and get_album.
Fix for #627.
In the scope of this PR the new logic has been removed for albums. So for albums
flexColumns
are hardcoded and for playlist they are still resolved usingnavigationEndpoints
. There are border cases with columns withoutnavigationEndpoint
, where I have to guess their meaning. Those cases are different for albums and for playlists, so I cannot use the same logic for both methods. Albums always have the same order offlexColumns
, so dynamic resolving is not needed there.Now it's safe to assume that first column without
navigationEndpoint
is an artist column.Additionally I added some tests for
get_playlist
. I prepared json for collaborative playlist with all types of tracks that has been problematic in the recent days:Asserts will check if all those tracks have title and artist and if there is album for regular songs. I added the same asserts for already existing tests with mocked jsons in
get_playlist
andget_album
.