fix: accept empty playlist continuation
This commit is contained in:
parent
b4ca16caf8
commit
9fbacb2318
1 changed files with 15 additions and 12 deletions
|
|
@ -184,22 +184,25 @@ impl MapResponse<Paginator<PlaylistVideo>> for response::PlaylistCont {
|
||||||
_lang: crate::param::Language,
|
_lang: crate::param::Language,
|
||||||
_deobf: Option<&crate::deobfuscate::DeobfData>,
|
_deobf: Option<&crate::deobfuscate::DeobfData>,
|
||||||
) -> Result<MapResult<Paginator<PlaylistVideo>>, ExtractionError> {
|
) -> Result<MapResult<Paginator<PlaylistVideo>>, ExtractionError> {
|
||||||
let mut actions = self.on_response_received_actions;
|
let action = self.on_response_received_actions.into_iter().next();
|
||||||
let action = actions
|
|
||||||
.try_swap_remove(0)
|
|
||||||
.ok_or(ExtractionError::InvalidData(Cow::Borrowed(
|
|
||||||
"no onResponseReceivedAction",
|
|
||||||
)))?;
|
|
||||||
|
|
||||||
let (items, ctoken) =
|
let ((items, ctoken), warnings) = action
|
||||||
map_playlist_items(action.append_continuation_items_action.continuation_items.c);
|
.map(|action| {
|
||||||
|
(
|
||||||
|
map_playlist_items(
|
||||||
|
action.append_continuation_items_action.continuation_items.c,
|
||||||
|
),
|
||||||
|
action
|
||||||
|
.append_continuation_items_action
|
||||||
|
.continuation_items
|
||||||
|
.warnings,
|
||||||
|
)
|
||||||
|
})
|
||||||
|
.unwrap_or_default();
|
||||||
|
|
||||||
Ok(MapResult {
|
Ok(MapResult {
|
||||||
c: Paginator::new(None, items, ctoken),
|
c: Paginator::new(None, items, ctoken),
|
||||||
warnings: action
|
warnings,
|
||||||
.append_continuation_items_action
|
|
||||||
.continuation_items
|
|
||||||
.warnings,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue