From 0164fac2e055f0bb7a665513f50e062849b6e915 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Wed, 5 Apr 2023 19:23:08 +0200 Subject: [PATCH] fix: error on empty YT pagination responses --- src/client/pagination.rs | 6 +----- tests/youtube.rs | 10 +++++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/client/pagination.rs b/src/client/pagination.rs index 89ccadd..8c1081a 100644 --- a/src/client/pagination.rs +++ b/src/client/pagination.rs @@ -1,5 +1,3 @@ -use std::borrow::Cow; - use crate::error::{Error, ExtractionError}; use crate::model::{ paginator::{ContinuationEndpoint, Paginator}, @@ -111,9 +109,7 @@ impl MapResponse> for response::Continuation { self.continuation_contents .map(|contents| contents.rich_grid_continuation.contents) }) - .ok_or(ExtractionError::InvalidData(Cow::Borrowed( - "no continuation items", - )))?; + .unwrap_or_default(); let mut mapper = response::YouTubeListMapper::::new(lang); mapper.map_response(items); diff --git a/tests/youtube.rs b/tests/youtube.rs index ecbd431..32c90f4 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -433,7 +433,7 @@ fn get_video_details(rp: RustyPipe) { assert!(!details.is_ccommons); assert!(details.recommended.visitor_data.is_some()); - assert_next(details.recommended, rp.query(), 10, 2); + assert_next(details.recommended, rp.query(), 10, 1); assert_gte(details.top_comments.count.unwrap(), 700_000, "comments"); assert!(!details.top_comments.is_exhausted()); @@ -470,7 +470,7 @@ fn get_video_details_music(rp: RustyPipe) { assert!(!details.is_ccommons); assert!(details.recommended.visitor_data.is_some()); - assert_next(details.recommended, rp.query(), 10, 2); + assert_next(details.recommended, rp.query(), 10, 1); // Update(01.11.2022): comments are sometimes enabled /* @@ -517,7 +517,7 @@ fn get_video_details_ccommons(rp: RustyPipe) { assert!(details.is_ccommons); assert!(details.recommended.visitor_data.is_some()); - assert_next(details.recommended, rp.query(), 10, 2); + assert_next(details.recommended, rp.query(), 10, 1); assert_gte(details.top_comments.count.unwrap(), 2199, "comments"); assert!(!details.top_comments.is_exhausted()); @@ -640,7 +640,7 @@ fn get_video_details_chapters(rp: RustyPipe) { } assert!(details.recommended.visitor_data.is_some()); - assert_next(details.recommended, rp.query(), 10, 2); + assert_next(details.recommended, rp.query(), 10, 1); assert_gte(details.top_comments.count.unwrap(), 3200, "comments"); assert!(!details.top_comments.is_exhausted()); @@ -683,7 +683,7 @@ fn get_video_details_live(rp: RustyPipe) { assert!(!details.is_ccommons); assert!(details.recommended.visitor_data.is_some()); - assert_next(details.recommended, rp.query(), 10, 2); + assert_next(details.recommended, rp.query(), 10, 1); // No comments because livestream assert_eq!(details.top_comments.count, Some(0));