Fix album unmarshal error when ALB_CONTRIBUTORS is an empty array - #5
Merged
sayem314 merged 1 commit intoSep 1, 2026
Merged
Conversation
Deezer's album.getData returns ALB_CONTRIBUTORS as an empty JSON array instead of an object for albums without contributor metadata (e.g. various-artists soundtracks), which made GetAlbumInfo fail with: json: cannot unmarshal array into Go struct field AlbumType.ALB_CONTRIBUTORS Extract the anonymous struct into a named AlbumContributors type with an UnmarshalJSON that accepts both forms, mirroring the existing SongContributors handling in types/tracks.go. Reproducible with album 6090427.
Member
|
Thank you. Will submit new version later today. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GetAlbumInfofails on albums without contributor metadata (e.g. various-artists soundtracks):Reproducible with
d-fi -q 320 -u https://www.deezer.com/us/album/6090427.The cause:
album.getDatareturnsALB_CONTRIBUTORSas an empty JSON array instead of an object when there are no contributors. This PR extracts the anonymous struct into a namedAlbumContributorstype with anUnmarshalJSONthat accepts both forms, mirroring the existingSongContributorshandling intypes/tracks.go, and adds tests covering the object,[], and{}cases.