diff --git a/src/client/music_artist.rs b/src/client/music_artist.rs index d11f863..b0efdf4 100644 --- a/src/client/music_artist.rs +++ b/src/client/music_artist.rs @@ -191,14 +191,15 @@ fn map_artist_page( } } - let mut content = res.contents.single_column_browse_results_renderer.contents; - let sections = content - .try_swap_remove(0) - .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))? - .tab_renderer - .content - .section_list_renderer - .contents; + let sections = res + .contents + .single_column_browse_results_renderer + .contents + .into_iter() + .next() + .and_then(|tab| tab.tab_renderer.content) + .map(|c| c.section_list_renderer.contents) + .unwrap_or_default(); let mut mapper = MusicListMapper::with_artist( lang, diff --git a/src/client/response/music_artist.rs b/src/client/response/music_artist.rs index e27f3a0..c886105 100644 --- a/src/client/response/music_artist.rs +++ b/src/client/response/music_artist.rs @@ -14,7 +14,7 @@ use super::{ #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicArtist { - pub contents: SingleColumnBrowseResult>>, + pub contents: SingleColumnBrowseResult>>>, pub header: Header, }