diff --git a/src/client/response/video_details.rs b/src/client/response/video_details.rs index f43878a..c9b4d2e 100644 --- a/src/client/response/video_details.rs +++ b/src/client/response/video_details.rs @@ -77,8 +77,8 @@ pub(crate) enum VideoResultsItem { /// Like/Dislike button video_actions: VideoActions, /// Absolute textual date (e.g. `Dec 29, 2019`) - #[serde_as(as = "Text")] - date_text: String, + #[serde_as(as = "Option")] + date_text: Option, }, #[serde(rename_all = "camelCase")] VideoSecondaryInfoRenderer { diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap index fd92e05..a360227 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20220924_newdesc.snap @@ -139,7 +139,7 @@ VideoDetails( view_count: 233243423, like_count: Some(4015532), publish_date: "[date]", - publish_date_txt: "Nov 17, 2020", + publish_date_txt: Some("Nov 17, 2020"), is_live: false, is_ccommons: false, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap index 0841f39..68e704d 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_new_continuation.snap @@ -139,7 +139,7 @@ VideoDetails( view_count: 234258725, like_count: Some(4027586), publish_date: "[date]", - publish_date_txt: "Nov 17, 2020", + publish_date_txt: Some("Nov 17, 2020"), is_live: false, is_ccommons: false, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap index 10880e8..4cfe502 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_20221011_rec_isr.snap @@ -389,7 +389,7 @@ VideoDetails( view_count: 1251797, like_count: Some(58077), publish_date: "[date]", - publish_date_txt: "Sep 15, 2022", + publish_date_txt: Some("Sep 15, 2022"), is_live: false, is_ccommons: false, chapters: [ diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_agegate.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_agegate.snap index ca890dd..970147c 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_agegate.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_agegate.snap @@ -32,7 +32,7 @@ VideoDetails( view_count: 205, like_count: None, publish_date: "[date]", - publish_date_txt: "Jan 2, 2019", + publish_date_txt: Some("Jan 2, 2019"), is_live: false, is_ccommons: false, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap index 1cc3cc7..9f51720 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_ccommons.snap @@ -50,7 +50,7 @@ VideoDetails( view_count: 2493983, like_count: Some(52274), publish_date: "[date]", - publish_date_txt: "Dec 29, 2019", + publish_date_txt: Some("Dec 29, 2019"), is_live: false, is_ccommons: true, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap index cc9ce07..187bff9 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_chapters.snap @@ -371,7 +371,7 @@ VideoDetails( view_count: 971966, like_count: Some(48244), publish_date: "[date]", - publish_date_txt: "Sep 15, 2022", + publish_date_txt: Some("Sep 15, 2022"), is_live: false, is_ccommons: false, chapters: [ diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap index 8236ef8..62979ec 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_live.snap @@ -94,7 +94,7 @@ VideoDetails( view_count: 681, like_count: Some(872230), publish_date: "[date]", - publish_date_txt: "Started streaming on Sep 23, 2021", + publish_date_txt: Some("Started streaming on Sep 23, 2021"), is_live: true, is_ccommons: false, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap index ce4edf3..2e65156 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_music.snap @@ -36,7 +36,7 @@ VideoDetails( view_count: 20304, like_count: Some(146), publish_date: "[date]", - publish_date_txt: "Aug 6, 2020", + publish_date_txt: Some("Aug 6, 2020"), is_live: false, is_ccommons: false, chapters: [], diff --git a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap index 9071e3e..3442496 100644 --- a/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap +++ b/src/client/snapshots/rustypipe__client__video_details__tests__map_video_details_mv.snap @@ -139,7 +139,7 @@ VideoDetails( view_count: 232792465, like_count: Some(4010156), publish_date: "[date]", - publish_date_txt: "Nov 17, 2020", + publish_date_txt: Some("Nov 17, 2020"), is_live: false, is_ccommons: false, chapters: [], diff --git a/src/client/video_details.rs b/src/client/video_details.rs index 92570cc..6d24583 100644 --- a/src/client/video_details.rs +++ b/src/client/video_details.rs @@ -175,7 +175,9 @@ impl MapResponse for response::VideoDetails { // accessibility_data contains no digits if the like count is hidden, // so we ignore parse errors here for now like_btn.and_then(|btn| util::parse_numeric(&btn.accessibility_data).ok()), - timeago::parse_textual_date_or_warn(lang, &date_text, &mut warnings), + date_text.as_deref().and_then(|txt| { + timeago::parse_textual_date_or_warn(lang, txt, &mut warnings) + }), date_text, view_count .map(|vc| vc.video_view_count_renderer.is_live) diff --git a/src/model/mod.rs b/src/model/mod.rs index 252cab6..ffbf652 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -567,7 +567,7 @@ pub struct VideoDetails { #[serde(with = "time::serde::rfc3339::option")] pub publish_date: Option, /// Textual video publishing date (e.g. `Aug 2, 2013`, depends on language) - pub publish_date_txt: String, + pub publish_date_txt: Option, /// Is the video a livestream? pub is_live: bool, /// Is the video published under the Creative Commons BY 3.0 license?