refactor: update recommended video response model

This commit is contained in:
Theta-Dev 2022-10-17 12:50:07 +02:00
parent 999ebf7c36
commit 71c77fcfb6
19 changed files with 1100 additions and 863 deletions

View file

@ -1,7 +1,5 @@
use crate::error::{Error, ExtractionError}; use crate::error::{Error, ExtractionError};
use crate::model::{ use crate::model::{Comment, ContinuationEndpoint, Paginator, PlaylistVideo, YouTubeItem};
Comment, ContinuationEndpoint, Paginator, PlaylistVideo, RecommendedVideo, YouTubeItem,
};
use crate::serializer::MapResult; use crate::serializer::MapResult;
use crate::util::TryRemove; use crate::util::TryRemove;
@ -52,7 +50,9 @@ impl<T: TryFrom<YouTubeItem>> MapResponse<Paginator<T>> for response::Continuati
lang: crate::param::Language, lang: crate::param::Language,
_deobf: Option<&crate::deobfuscate::Deobfuscator>, _deobf: Option<&crate::deobfuscate::Deobfuscator>,
) -> Result<MapResult<Paginator<T>>, ExtractionError> { ) -> Result<MapResult<Paginator<T>>, ExtractionError> {
let mut actions = self.on_response_received_actions; let mut actions = self
.on_response_received_actions
.ok_or(ExtractionError::Retry)?;
let items = some_or_bail!( let items = some_or_bail!(
actions.try_swap_remove(0), actions.try_swap_remove(0),
Err(ExtractionError::InvalidData( Err(ExtractionError::InvalidData(
@ -137,9 +137,7 @@ macro_rules! paginator {
} }
paginator!(Comment, RustyPipeQuery::video_comments); paginator!(Comment, RustyPipeQuery::video_comments);
paginator!(PlaylistVideo, RustyPipeQuery::playlist_continuation); paginator!(PlaylistVideo, RustyPipeQuery::playlist_continuation);
paginator!(RecommendedVideo, RustyPipeQuery::video_recommendations);
impl<T: TryFrom<YouTubeItem>> Paginator<T> { impl<T: TryFrom<YouTubeItem>> Paginator<T> {
pub async fn next(&self, query: RustyPipeQuery) -> Result<Option<Self>, Error> { pub async fn next(&self, query: RustyPipeQuery) -> Result<Option<Self>, Error> {
@ -205,6 +203,7 @@ mod tests {
use crate::{ use crate::{
client::{response, MapResponse}, client::{response, MapResponse},
error::ExtractionError,
model::{Paginator, PlaylistItem, YouTubeItem}, model::{Paginator, PlaylistItem, YouTubeItem},
param::Language, param::Language,
serializer::MapResult, serializer::MapResult,
@ -213,6 +212,7 @@ mod tests {
#[rstest] #[rstest]
#[case("search", "search/cont")] #[case("search", "search/cont")]
#[case("startpage", "trends/startpage_cont")] #[case("startpage", "trends/startpage_cont")]
#[case("recommendations", "video_details/recommendations")]
fn map_continuation_items(#[case] name: &str, #[case] path: &str) { fn map_continuation_items(#[case] name: &str, #[case] path: &str) {
let filename = format!("testfiles/{}.json", path); let filename = format!("testfiles/{}.json", path);
let json_path = Path::new(&filename); let json_path = Path::new(&filename);
@ -228,7 +228,7 @@ mod tests {
"deserialization/mapping warnings: {:?}", "deserialization/mapping warnings: {:?}",
map_res.warnings map_res.warnings
); );
insta::assert_ron_snapshot!(format!("map_cont_{}", name), map_res.c, { insta::assert_ron_snapshot!(format!("map_{}", name), map_res.c, {
".items.*.publish_date" => "[date]", ".items.*.publish_date" => "[date]",
}); });
} }
@ -250,6 +250,21 @@ mod tests {
"deserialization/mapping warnings: {:?}", "deserialization/mapping warnings: {:?}",
map_res.warnings map_res.warnings
); );
insta::assert_ron_snapshot!(format!("map_cont_{}", name), map_res.c); insta::assert_ron_snapshot!(format!("map_{}", name), map_res.c);
}
#[test]
fn map_recommendations_empty() {
let filename = format!("testfiles/video_details/recommendations_empty.json");
let json_path = Path::new(&filename);
let json_file = File::open(json_path).unwrap();
let recommendations: response::Continuation =
serde_json::from_reader(BufReader::new(json_file)).unwrap();
let map_res: Result<MapResult<Paginator<YouTubeItem>>, ExtractionError> =
recommendations.map_response("", Language::En, None);
let err = map_res.unwrap_err();
assert!(matches!(err, crate::error::ExtractionError::Retry));
} }
} }

View file

@ -19,7 +19,6 @@ pub use trends::Trending;
pub use url_endpoint::ResolvedUrl; pub use url_endpoint::ResolvedUrl;
pub use video_details::VideoComments; pub use video_details::VideoComments;
pub use video_details::VideoDetails; pub use video_details::VideoDetails;
pub use video_details::VideoRecommendations;
pub use video_item::YouTubeListItem; pub use video_item::YouTubeListItem;
pub use video_item::YouTubeListMapper; pub use video_item::YouTubeListMapper;
@ -497,9 +496,12 @@ pub struct Continuation {
/// Number of search results /// Number of search results
#[serde_as(as = "Option<JsonString>")] #[serde_as(as = "Option<JsonString>")]
pub estimated_results: Option<u64>, pub estimated_results: Option<u64>,
#[serde(alias = "onResponseReceivedCommands")] #[serde(
#[serde_as(as = "VecSkipError<_>")] alias = "onResponseReceivedCommands",
pub on_response_received_actions: Vec<ContinuationActionWrap>, alias = "onResponseReceivedEndpoints"
)]
#[serde_as(as = "Option<VecSkipError<_>>")]
pub on_response_received_actions: Option<Vec<ContinuationActionWrap>>,
} }
#[derive(Debug, Deserialize)] #[derive(Debug, Deserialize)]

View file

@ -10,9 +10,10 @@ use crate::serializer::{
MapResult, VecLogError, MapResult, VecLogError,
}; };
use super::YouTubeListItem;
use super::{ use super::{
url_endpoint::BrowseEndpoint, ContinuationEndpoint, ContinuationItemRenderer, Icon, url_endpoint::BrowseEndpoint, ContinuationEndpoint, ContinuationItemRenderer, Icon,
MusicContinuation, Thumbnails, VideoListItem, VideoOwner, MusicContinuation, Thumbnails, VideoOwner,
}; };
/* /*
@ -282,7 +283,7 @@ pub struct RecommendationResultsWrap {
pub struct RecommendationResults { pub struct RecommendationResults {
/// Can be `None` for age-restricted videos /// Can be `None` for age-restricted videos
#[serde_as(as = "Option<VecLogError<_>>")] #[serde_as(as = "Option<VecLogError<_>>")]
pub results: Option<MapResult<Vec<VideoListItem>>>, pub results: Option<MapResult<Vec<YouTubeListItem>>>,
#[serde_as(as = "Option<VecSkipError<_>>")] #[serde_as(as = "Option<VecSkipError<_>>")]
pub continuations: Option<Vec<MusicContinuation>>, pub continuations: Option<Vec<MusicContinuation>>,
} }
@ -416,36 +417,6 @@ pub struct CommentItemSectionHeaderMenuItem {
pub service_endpoint: ContinuationEndpoint, pub service_endpoint: ContinuationEndpoint,
} }
/*
#RECOMMENDATIONS CONTINUATION
*/
/// Video recommendations continuation response
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VideoRecommendations {
#[serde(default)]
#[serde_as(as = "VecSkipError<_>")]
pub on_response_received_endpoints: Vec<RecommendationsContItem>,
}
/// Video recommendations continuation
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RecommendationsContItem {
pub append_continuation_items_action: AppendRecommendations,
}
/// Video recommendations continuation
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AppendRecommendations {
#[serde_as(as = "VecLogError<_>")]
pub continuation_items: MapResult<Vec<VideoListItem>>,
}
/* /*
#COMMENTS CONTINUATION #COMMENTS CONTINUATION
*/ */

View file

@ -84,6 +84,7 @@ pub struct VideoRenderer {
pub title: String, pub title: String,
#[serde(rename = "shortBylineText")] #[serde(rename = "shortBylineText")]
pub channel: Option<TextComponent>, pub channel: Option<TextComponent>,
pub channel_thumbnail: Option<Thumbnails>,
pub channel_thumbnail_supported_renderers: Option<ChannelThumbnailSupportedRenderers>, pub channel_thumbnail_supported_renderers: Option<ChannelThumbnailSupportedRenderers>,
#[serde_as(as = "Option<Text>")] #[serde_as(as = "Option<Text>")]
pub published_time_text: Option<String>, pub published_time_text: Option<String>,
@ -221,8 +222,10 @@ impl<T> YouTubeListMapper<T> {
name: c.name, name: c.name,
avatar: video avatar: video
.channel_thumbnail_supported_renderers .channel_thumbnail_supported_renderers
.map(|tn| tn.channel_thumbnail_with_link_renderer.thumbnail.into()) .map(|tn| tn.channel_thumbnail_with_link_renderer.thumbnail)
.unwrap_or_default(), .or(video.channel_thumbnail)
.unwrap_or_default()
.into(),
verification: video.owner_badges.into(), verification: video.owner_badges.into(),
subscriber_count: None, subscriber_count: None,
}) })

View file

@ -1,11 +1,11 @@
--- ---
source: src/client/video_details.rs source: src/client/pagination.rs
expression: map_res.c expression: map_res.c
--- ---
Paginator( Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( Video(VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
title: "aespa 에스파 \'Savage\' MV", title: "aespa 에스파 \'Savage\' MV",
length: Some(259), length: Some(259),
@ -21,7 +21,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -33,14 +33,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 months ago"), publish_date_txt: Some("11 months ago"),
view_count: 216222873, view_count: Some(216222873),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
title: "IVE 아이브 \'LOVE DIVE\' MV", title: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), length: Some(179),
@ -56,7 +58,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCYDmx2Sfpnaxg488yBpZIGg", id: "UCYDmx2Sfpnaxg488yBpZIGg",
name: "starshipTV", name: "starshipTV",
avatar: [ avatar: [
@ -68,14 +70,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: 155106313, view_count: Some(155106313),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
title: "EVERGLOW (에버글로우) - DUN DUN MV", title: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), length: Some(209),
@ -91,7 +95,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_pwIXKXNm5KGhdEVzmY60A", id: "UC_pwIXKXNm5KGhdEVzmY60A",
name: "Stone Music Entertainment", name: "Stone Music Entertainment",
avatar: [ avatar: [
@ -103,14 +107,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 265238677, view_count: Some(265238677),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "yQUU29NwNF4", id: "yQUU29NwNF4",
title: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122", title: "aespa(에스파) - Black Mamba @인기가요 inkigayo 20201122",
length: Some(213), length: Some(213),
@ -126,7 +132,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCS_hnpJLQTvBkqALgapi_4g", id: "UCS_hnpJLQTvBkqALgapi_4g",
name: "스브스케이팝 X INKIGAYO", name: "스브스케이팝 X INKIGAYO",
avatar: [ avatar: [
@ -138,14 +144,16 @@ Paginator(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 9989591, view_count: Some(9989591),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "NU611fxGyPU", id: "NU611fxGyPU",
title: "aespa 에스파 \'Black Mamba\' Dance Practice", title: "aespa 에스파 \'Black Mamba\' Dance Practice",
length: Some(175), length: Some(175),
@ -161,7 +169,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC9GtSLeksfK4yuJ_g1lgQbg", id: "UC9GtSLeksfK4yuJ_g1lgQbg",
name: "aespa", name: "aespa",
avatar: [ avatar: [
@ -173,14 +181,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 34588526, view_count: Some(34588526),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "EaswWiwMVs8", id: "EaswWiwMVs8",
title: "Stray Kids \"소리꾼(Thunderous)\" M/V", title: "Stray Kids \"소리꾼(Thunderous)\" M/V",
length: Some(199), length: Some(199),
@ -196,7 +206,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -208,14 +218,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 242737870, view_count: Some(242737870),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
title: "Red Velvet - IRENE & SEULGI \'Monster\' MV", title: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), length: Some(182),
@ -231,7 +243,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -243,14 +255,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 126677200, view_count: Some(126677200),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "gQlMMD8auMs", id: "gQlMMD8auMs",
title: "BLACKPINK - Pink Venom M/V", title: "BLACKPINK - Pink Venom M/V",
length: Some(194), length: Some(194),
@ -266,7 +280,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -278,14 +292,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 335903776, view_count: Some(335903776),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "BL-aIpCLWnU", id: "BL-aIpCLWnU",
title: "Black Mamba", title: "Black Mamba",
length: Some(175), length: Some(175),
@ -301,7 +317,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC9GtSLeksfK4yuJ_g1lgQbg", id: "UC9GtSLeksfK4yuJ_g1lgQbg",
name: "aespa", name: "aespa",
avatar: [ avatar: [
@ -313,14 +329,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 86125645, view_count: Some(86125645),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
title: "(G)I-DLE - \'TOMBOY\' Official Music Video", title: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), length: Some(198),
@ -336,7 +354,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCritGVo7pLJLUS8wEu32vow", id: "UCritGVo7pLJLUS8wEu32vow",
name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)", name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)",
avatar: [ avatar: [
@ -348,14 +366,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: 170016610, view_count: Some(170016610),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "Fc-fa6cAe2c", id: "Fc-fa6cAe2c",
title: "KAI 카이 \'음 (Mmmh)\' MV", title: "KAI 카이 \'음 (Mmmh)\' MV",
length: Some(207), length: Some(207),
@ -371,7 +391,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -383,14 +403,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 123861096, view_count: Some(123861096),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "dYRITmpFbJ4", id: "dYRITmpFbJ4",
title: "aespa 에스파 \'Girls\' MV", title: "aespa 에스파 \'Girls\' MV",
length: Some(269), length: Some(269),
@ -406,7 +428,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -418,14 +440,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: 101968219, view_count: Some(101968219),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "mH0_XpSHkZo", id: "mH0_XpSHkZo",
title: "TWICE \"MORE & MORE\" M/V", title: "TWICE \"MORE & MORE\" M/V",
length: Some(241), length: Some(241),
@ -441,7 +465,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -453,14 +477,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 322510403, view_count: Some(322510403),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
title: "Red Velvet 레드벨벳 \'Psycho\' MV", title: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), length: Some(216),
@ -476,7 +502,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -488,14 +514,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 345491789, view_count: Some(345491789),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "f5_wn8mexmM", id: "f5_wn8mexmM",
title: "TWICE \"The Feels\" M/V", title: "TWICE \"The Feels\" M/V",
length: Some(232), length: Some(232),
@ -511,7 +539,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -523,14 +551,16 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 months ago"), publish_date_txt: Some("11 months ago"),
view_count: 314744776, view_count: Some(314744776),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "Ky5RT5oGg0w", id: "Ky5RT5oGg0w",
title: "aespa 에스파 \'Black Mamba\' The Debut Stage", title: "aespa 에스파 \'Black Mamba\' The Debut Stage",
length: Some(287), length: Some(287),
@ -546,7 +576,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC9GtSLeksfK4yuJ_g1lgQbg", id: "UC9GtSLeksfK4yuJ_g1lgQbg",
name: "aespa", name: "aespa",
avatar: [ avatar: [
@ -558,14 +588,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 18830758, view_count: Some(18830758),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "gU2HqP4NxUs", id: "gU2HqP4NxUs",
title: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo", title: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo",
length: Some(208), length: Some(208),
@ -581,7 +613,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -593,14 +625,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 282957370, view_count: Some(282957370),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
title: "[MV] MAMAMOO (마마무) - HIP", title: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), length: Some(211),
@ -616,7 +650,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCuhAUMLzJxlP1W7mEk0_6lA", id: "UCuhAUMLzJxlP1W7mEk0_6lA",
name: "MAMAMOO", name: "MAMAMOO",
avatar: [ avatar: [
@ -628,14 +662,16 @@ Paginator(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 355203298, view_count: Some(355203298),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
RecommendedVideo( short_description: None,
)),
Video(VideoItem(
id: "uxmP4b2a0uY", id: "uxmP4b2a0uY",
title: "EXO 엑소 \'Obsession\' MV", title: "EXO 엑소 \'Obsession\' MV",
length: Some(220), length: Some(220),
@ -651,7 +687,7 @@ Paginator(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -663,13 +699,15 @@ Paginator(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 157400947, view_count: Some(157400947),
is_live: false, is_live: false,
is_short: false, is_short: false,
), is_upcoming: false,
short_description: None,
)),
], ],
ctoken: Some("CCgSExILWmVlcnJudUxpNUXAAQHIAQEYACrLDDJzNkw2d3l4Q1FxdUNRb0Q4ajRBQ2czQ1Bnb0l4LUM1djltdnBwZ3lDZ1B5UGdBS0RjSS1DZ2pxM0xYRXpkNk00VUVLQV9JLUFBb093ajRMQ1Bqc19JLUVsWTI5MWdFS0FfSS1BQW93MGo0dENpdFNSRU5NUVVzMWRYbGZhekkzZFhVdFJYUlJYMkkxVlRKeU1qWkVUa1JhVDIxT2NVZGtZMk5WU1VkUkNnUHlQZ0FLRHNJLUN3amZ2czJMbjRUcG5iUUJDZ1B5UGdBS0V0SS1Ed29OVWtSYVpXVnljbTUxVEdrMVJRb0Q4ajRBQ2c3Q1Bnc0kzYmJTdThMRy1wS1VBUW9EOGo0QUNnN0NQZ3NJX2JYd2lmQzJ0WlczQVFvRDhqNEFDZzdDUGdzSXpZckE3b0RHbzlMUUFRb0Q4ajRBQ2czQ1Bnb0l0N212dk9fUjVJUnZDZ1B5UGdBS0RjSS1DZ2lBcDdMWDBlYWxyaW9LQV9JLUFBb053ajRLQ0luanlmalZ0dUwxWHdvRDhqNEFDZzNDUGdvSXBKZmozYVR5X2MwZkNnUHlQZ0FLRGNJLUNnamJtNW1MbGRLQTV3Z0tBX0ktQUFvT3dqNExDTFRhOF9UNjE3U3UyQUVLQV9JLUFBb053ajRLQ05xMHBhdXZzS1BDZEFvRDhqNEFDZzdDUGdzSTVQR3E5WTIybWNXZ0FRb0Q4ajRBQ2c3Q1Bnc0lnNkdPN3JidzJjR0tBUW9EOGo0QUNnN0NQZ3NJenEtbWxQUy01SnJoQVFvRDhqNEFDZzdDUGdzSXZNbnBqSUtUeXBYX0FRb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0g5SS1IQW9hVWtSRlRWUnVTbmxSZDJsamFHMW5lbm96VGxKSlVIVmxWMUVLQV9JLUFBb053ajRLQ0xxb251clN1SkhoWXdvRDhqNEFDZzNDUGdvSXFzYU90Y0RBZ3NNMkNnUHlQZ0FLRHNJLUN3amU2TUNidlp2Rmdza0JDZ1B5UGdBS0RjSS1DZ2oxa1p2aTM3cXRwelVLQV9JLUFBb053ajRLQ00tdHNlQ2lpOHpWRVFvRDhqNEFDZzNDUGdvSXJjU3kxYV9RdjV0U0NnUHlQZ0FLRHNJLUN3akw4ZXI0ZzRiVGhJRUJDZ1B5UGdBS0RjSS1DZ2oxdEsyRXFjVG0zd1FLQV9JLUFBb053ajRLQ012dG1aX2Fnb1NQSmdvRDhqNEFDZzNDUGdvSTVfYUJ1THJ0NS1jVkNnUHlQZ0FLRGNJLUNnaWUyWlhTNW9tU3duVUtBX0ktQUFvT3dqNExDSnFqbnFUcDY4LS1tQUVLQV9JLUFBb093ajRMQ1BqS291cnRsY09QdVFFS0FfSS1BQW9Od2o0S0NPT00tOHo4a196UGZ3b0Q4ajRBQ2czQ1Bnb0l6SWFhMFBtcGxKY3JDZ1B5UGdBS0RzSS1Dd2pMaXJmd2pfWGhwb0VCQ2dQeVBnQUtEY0ktQ2dpRG52dUVtdEczaWlvS0FfSS1BQW9Pd2o0TENPYWw2LXliX09PTXV3RVNLQUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtS0Nvc0xqQXlORFk0T2p3LVFFSkVSa2hLVEU0YUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY2FCQWdvRUNrYUJBZ3FFQ3NhQkFnc0VDMGFCQWd1RUM4YUJBZ3dFREVhQkFneUVETWFCQWcwRURVYUJBZzJFRGNhQkFnNEVEa2FCQWc2RURzYUJBZzhFRDBhQkFnLUVEOGFCQWhBRUVFYUJBaENFRU1hQkFoRUVFVWFCQWhHRUVjYUJBaElFRWthQkFoS0VFc2FCQWhNRUUwYUJBaE9FRThxS0FBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbUtDb3NMakF5TkRZNE9qdy1RRUpFUmtoS1RFNGoPd2F0Y2gtbmV4dC1mZWVkcgA%3D"), ctoken: Some("CCgSExILWmVlcnJudUxpNUXAAQHIAQEYACrLDDJzNkw2d3l4Q1FxdUNRb0Q4ajRBQ2czQ1Bnb0l4LUM1djltdnBwZ3lDZ1B5UGdBS0RjSS1DZ2pxM0xYRXpkNk00VUVLQV9JLUFBb093ajRMQ1Bqc19JLUVsWTI5MWdFS0FfSS1BQW93MGo0dENpdFNSRU5NUVVzMWRYbGZhekkzZFhVdFJYUlJYMkkxVlRKeU1qWkVUa1JhVDIxT2NVZGtZMk5WU1VkUkNnUHlQZ0FLRHNJLUN3amZ2czJMbjRUcG5iUUJDZ1B5UGdBS0V0SS1Ed29OVWtSYVpXVnljbTUxVEdrMVJRb0Q4ajRBQ2c3Q1Bnc0kzYmJTdThMRy1wS1VBUW9EOGo0QUNnN0NQZ3NJX2JYd2lmQzJ0WlczQVFvRDhqNEFDZzdDUGdzSXpZckE3b0RHbzlMUUFRb0Q4ajRBQ2czQ1Bnb0l0N212dk9fUjVJUnZDZ1B5UGdBS0RjSS1DZ2lBcDdMWDBlYWxyaW9LQV9JLUFBb053ajRLQ0luanlmalZ0dUwxWHdvRDhqNEFDZzNDUGdvSXBKZmozYVR5X2MwZkNnUHlQZ0FLRGNJLUNnamJtNW1MbGRLQTV3Z0tBX0ktQUFvT3dqNExDTFRhOF9UNjE3U3UyQUVLQV9JLUFBb053ajRLQ05xMHBhdXZzS1BDZEFvRDhqNEFDZzdDUGdzSTVQR3E5WTIybWNXZ0FRb0Q4ajRBQ2c3Q1Bnc0lnNkdPN3JidzJjR0tBUW9EOGo0QUNnN0NQZ3NJenEtbWxQUy01SnJoQVFvRDhqNEFDZzdDUGdzSXZNbnBqSUtUeXBYX0FRb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0g5SS1IQW9hVWtSRlRWUnVTbmxSZDJsamFHMW5lbm96VGxKSlVIVmxWMUVLQV9JLUFBb053ajRLQ0xxb251clN1SkhoWXdvRDhqNEFDZzNDUGdvSXFzYU90Y0RBZ3NNMkNnUHlQZ0FLRHNJLUN3amU2TUNidlp2Rmdza0JDZ1B5UGdBS0RjSS1DZ2oxa1p2aTM3cXRwelVLQV9JLUFBb053ajRLQ00tdHNlQ2lpOHpWRVFvRDhqNEFDZzNDUGdvSXJjU3kxYV9RdjV0U0NnUHlQZ0FLRHNJLUN3akw4ZXI0ZzRiVGhJRUJDZ1B5UGdBS0RjSS1DZ2oxdEsyRXFjVG0zd1FLQV9JLUFBb053ajRLQ012dG1aX2Fnb1NQSmdvRDhqNEFDZzNDUGdvSTVfYUJ1THJ0NS1jVkNnUHlQZ0FLRGNJLUNnaWUyWlhTNW9tU3duVUtBX0ktQUFvT3dqNExDSnFqbnFUcDY4LS1tQUVLQV9JLUFBb093ajRMQ1BqS291cnRsY09QdVFFS0FfSS1BQW9Od2o0S0NPT00tOHo4a196UGZ3b0Q4ajRBQ2czQ1Bnb0l6SWFhMFBtcGxKY3JDZ1B5UGdBS0RzSS1Dd2pMaXJmd2pfWGhwb0VCQ2dQeVBnQUtEY0ktQ2dpRG52dUVtdEczaWlvS0FfSS1BQW9Pd2o0TENPYWw2LXliX09PTXV3RVNLQUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtS0Nvc0xqQXlORFk0T2p3LVFFSkVSa2hLVEU0YUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY2FCQWdvRUNrYUJBZ3FFQ3NhQkFnc0VDMGFCQWd1RUM4YUJBZ3dFREVhQkFneUVETWFCQWcwRURVYUJBZzJFRGNhQkFnNEVEa2FCQWc2RURzYUJBZzhFRDBhQkFnLUVEOGFCQWhBRUVFYUJBaENFRU1hQkFoRUVFVWFCQWhHRUVjYUJBaElFRWthQkFoS0VFc2FCQWhNRUUwYUJBaE9FRThxS0FBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbUtDb3NMakF5TkRZNE9qdy1RRUpFUmtoS1RFNGoPd2F0Y2gtbmV4dC1mZWVkcgA%3D"),
endpoint: browse, endpoint: browse,

View file

@ -104,7 +104,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "aRpkasmB6so", id: "aRpkasmB6so",
title: "18 de setembro de 2022", title: "18 de setembro de 2022",
length: Some(184), length: Some(184),
@ -120,7 +120,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCQYl87Oi9aWzz-CLhTw3Rzg", id: "UCQYl87Oi9aWzz-CLhTw3Rzg",
name: "Allan Nascimento", name: "Allan Nascimento",
avatar: [ avatar: [
@ -132,14 +132,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 days ago"), publish_date_txt: Some("5 days ago"),
view_count: 996, view_count: Some(996),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "lCXqNCd0m10", id: "lCXqNCd0m10",
title: "aespa(エスパ) Savage + Next Level + Black Mamba💕Stage Mix Compilation🔥에스파 무대모음 KBS Music Bank", title: "aespa(エスパ) Savage + Next Level + Black Mamba💕Stage Mix Compilation🔥에스파 무대모음 KBS Music Bank",
length: Some(898), length: Some(898),
@ -155,7 +157,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCgqMjKxRWAKUvgYqgomighw", id: "UCgqMjKxRWAKUvgYqgomighw",
name: "KBS충북", name: "KBS충북",
avatar: [ avatar: [
@ -167,14 +169,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: 7684395, view_count: Some(7684395),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "tDukIfFzX18", id: "tDukIfFzX18",
title: "[MV] Hwa Sa(화사) _ Maria(마리아)", title: "[MV] Hwa Sa(화사) _ Maria(마리아)",
length: Some(231), length: Some(231),
@ -190,7 +194,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCweOkPb1wVVH0Q0Tlj4a5Pw", id: "UCweOkPb1wVVH0Q0Tlj4a5Pw",
name: "1theK (원더케이)", name: "1theK (원더케이)",
avatar: [ avatar: [
@ -202,14 +206,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 260984648, view_count: Some(260984648),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "e-ORhEE9VVg", id: "e-ORhEE9VVg",
title: "Taylor Swift - Blank Space", title: "Taylor Swift - Blank Space",
length: Some(273), length: Some(273),
@ -225,7 +231,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCqECaJ8Gagnn7YCbPEzWH6g", id: "UCqECaJ8Gagnn7YCbPEzWH6g",
name: "Taylor Swift", name: "Taylor Swift",
avatar: [ avatar: [
@ -237,14 +243,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 years ago"), publish_date_txt: Some("7 years ago"),
view_count: 3035220118, view_count: Some(3035220118),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "qfVuRQX0ydQ", id: "qfVuRQX0ydQ",
title: "[MV] Weeekly(위클리) _ After School", title: "[MV] Weeekly(위클리) _ After School",
length: Some(225), length: Some(225),
@ -260,7 +268,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCweOkPb1wVVH0Q0Tlj4a5Pw", id: "UCweOkPb1wVVH0Q0Tlj4a5Pw",
name: "1theK (원더케이)", name: "1theK (원더케이)",
avatar: [ avatar: [
@ -272,14 +280,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 138451832, view_count: Some(138451832),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "tyrVtwE8Gv0", id: "tyrVtwE8Gv0",
title: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", title: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV",
length: Some(249), length: Some(249),
@ -295,7 +305,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -307,14 +317,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 255458628, view_count: Some(255458628),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "X-uJtV8ScYk", id: "X-uJtV8ScYk",
title: "Stray Kids \"Back Door\" M/V", title: "Stray Kids \"Back Door\" M/V",
length: Some(218), length: Some(218),
@ -330,7 +342,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -342,14 +354,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 274719671, view_count: Some(274719671),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "MjCZfZfucEc", id: "MjCZfZfucEc",
title: "ITZY “LOCO” M/V @ITZY", title: "ITZY “LOCO” M/V @ITZY",
length: Some(233), length: Some(233),
@ -365,7 +379,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -377,14 +391,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 203129706, view_count: Some(203129706),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "2FzSv66c7TQ", id: "2FzSv66c7TQ",
title: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", title: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음",
length: Some(3441), length: Some(3441),
@ -400,7 +416,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCK8S6QMrTk1G8TYQwIyDo-w", id: "UCK8S6QMrTk1G8TYQwIyDo-w",
name: "LQ K-POP", name: "LQ K-POP",
avatar: [ avatar: [
@ -412,14 +428,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: 531757, view_count: Some(531757),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CevxZvSJLk8", id: "CevxZvSJLk8",
title: "Katy Perry - Roar (Official)", title: "Katy Perry - Roar (Official)",
length: Some(270), length: Some(270),
@ -435,7 +453,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCYvmuw-JtVrTZQ-7Y4kd63Q", id: "UCYvmuw-JtVrTZQ-7Y4kd63Q",
name: "Katy Perry", name: "Katy Perry",
avatar: [ avatar: [
@ -447,14 +465,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("9 years ago"), publish_date_txt: Some("9 years ago"),
view_count: 3656394146, view_count: Some(3656394146),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "bwmSjveL3Lc", id: "bwmSjveL3Lc",
title: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", title: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V",
length: Some(244), length: Some(244),
@ -470,7 +490,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -482,14 +502,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 1479871637, view_count: Some(1479871637),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
title: "TWICE \"I CAN\'T STOP ME\" M/V", title: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), length: Some(221),
@ -505,7 +527,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -517,14 +539,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 456763969, view_count: Some(456763969),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ioNng23DkIM", id: "ioNng23DkIM",
title: "BLACKPINK - \'How You Like That\' M/V", title: "BLACKPINK - \'How You Like That\' M/V",
length: Some(184), length: Some(184),
@ -540,7 +564,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -552,14 +576,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 1149727787, view_count: Some(1149727787),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "BL-aIpCLWnU", id: "BL-aIpCLWnU",
title: "Black Mamba", title: "Black Mamba",
length: Some(175), length: Some(175),
@ -575,7 +601,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC9GtSLeksfK4yuJ_g1lgQbg", id: "UC9GtSLeksfK4yuJ_g1lgQbg",
name: "aespa", name: "aespa",
avatar: [ avatar: [
@ -587,14 +613,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 86080254, view_count: Some(86080254),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
title: "(G)I-DLE - \'TOMBOY\' Official Music Video", title: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), length: Some(198),
@ -610,7 +638,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCritGVo7pLJLUS8wEu32vow", id: "UCritGVo7pLJLUS8wEu32vow",
name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)", name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)",
avatar: [ avatar: [
@ -622,14 +650,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: 169858302, view_count: Some(169858302),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
title: "aespa 에스파 \'Savage\' MV", title: "aespa 에스파 \'Savage\' MV",
length: Some(259), length: Some(259),
@ -645,7 +675,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -657,14 +687,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 months ago"), publish_date_txt: Some("11 months ago"),
view_count: 216164610, view_count: Some(216164610),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Z7yNvMzz2zg", id: "Z7yNvMzz2zg",
title: "Red Velvet 레드벨벳 \'Psycho\' Performance Video", title: "Red Velvet 레드벨벳 \'Psycho\' Performance Video",
length: Some(216), length: Some(216),
@ -680,7 +712,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCk9GmdlDTBfgGRb7vXeRMoQ", id: "UCk9GmdlDTBfgGRb7vXeRMoQ",
name: "Red Velvet", name: "Red Velvet",
avatar: [ avatar: [
@ -692,27 +724,29 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 135093083, view_count: Some(135093083),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACreBjJzNkw2d3pfQkFyOEJBb0Q4ajRBQ2czQ1Bnb0l5dFdIekt5Tm1ZMXBDZ1B5UGdBS0o5SS1KQW9pVUV4eU1UUldiR05sYkRKVE16UlpSMmw1WlZkRU1rOW9jbU4wVGt4Q1psVk9PUW9EOGo0QUNoTFNQZzhLRFZKRVdtVmxjbkp1ZFV4cE5VVUtBX0ktQUFvT3dqNExDTjIyMHJ2Q3h2cVNsQUVLQV9JLUFBb3cwajR0Q2l0U1JFTk1RVXMxZFhsZmF6STNkWFV0UlhSUlgySTFWVEp5TWpaRVRrUmFUMjFPY1Vka1kyTlZTVWRSQ2dQeVBnQUtEc0ktQ3dqZnZzMkxuNFRwbmJRQkNnUHlQZ0FLRGNJLUNnallxdldKeExEazhYc0tBX0ktQUFvT3dqNExDTlNUMDZfUXlOdjZxUUVLQV9JLUFBb093ajRMQ1AyMThJbnd0cldWdHdFS0FfSS1BQW9Od2o0S0NJbmp5ZmpWdHVMMVh3b0Q4ajRBQ2czQ1Bnb0l4LUM1djltdnBwZ3lDZ1B5UGdBS0RzSS1Dd2kwMnZQMC10ZTBydGdCQ2dQeVBnQUtEY0ktQ2dqUDNLU2s3Nno4OVFrS0FfSS1BQW9Od2o0S0NMZTVyN3p2MGVTRWJ3b0Q4ajRBQ2czQ1Bnb0kyNXVaaTVYU2dPY0lDZ1B5UGdBS0RzSS1Dd2lEb1k3dXR2RFp3WW9CQ2dQeVBnQUtEY0ktQ2dqMXRLMkVxY1RtM3dRS0FfSS1BQW9Od2o0S0NNdnRtWl9hZ29TUEpnb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0RjSS1DZ2k0dHNfbnpMZWozbWNTRkFBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbUdnUUlBQkFCR2dRSUFoQURHZ1FJQkJBRkdnUUlCaEFIR2dRSUNCQUpHZ1FJQ2hBTEdnUUlEQkFOR2dRSURoQVBHZ1FJRUJBUkdnUUlFaEFUR2dRSUZCQVZHZ1FJRmhBWEdnUUlHQkFaR2dRSUdoQWJHZ1FJSEJBZEdnUUlIaEFmR2dRSUlCQWhHZ1FJSWhBakdnUUlKQkFsR2dRSUpoQW5LaFFBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmdqD3dhdGNoLW5leHQtZmVlZA%3D%3D"), ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACreBjJzNkw2d3pfQkFyOEJBb0Q4ajRBQ2czQ1Bnb0l5dFdIekt5Tm1ZMXBDZ1B5UGdBS0o5SS1KQW9pVUV4eU1UUldiR05sYkRKVE16UlpSMmw1WlZkRU1rOW9jbU4wVGt4Q1psVk9PUW9EOGo0QUNoTFNQZzhLRFZKRVdtVmxjbkp1ZFV4cE5VVUtBX0ktQUFvT3dqNExDTjIyMHJ2Q3h2cVNsQUVLQV9JLUFBb3cwajR0Q2l0U1JFTk1RVXMxZFhsZmF6STNkWFV0UlhSUlgySTFWVEp5TWpaRVRrUmFUMjFPY1Vka1kyTlZTVWRSQ2dQeVBnQUtEc0ktQ3dqZnZzMkxuNFRwbmJRQkNnUHlQZ0FLRGNJLUNnallxdldKeExEazhYc0tBX0ktQUFvT3dqNExDTlNUMDZfUXlOdjZxUUVLQV9JLUFBb093ajRMQ1AyMThJbnd0cldWdHdFS0FfSS1BQW9Od2o0S0NJbmp5ZmpWdHVMMVh3b0Q4ajRBQ2czQ1Bnb0l4LUM1djltdnBwZ3lDZ1B5UGdBS0RzSS1Dd2kwMnZQMC10ZTBydGdCQ2dQeVBnQUtEY0ktQ2dqUDNLU2s3Nno4OVFrS0FfSS1BQW9Od2o0S0NMZTVyN3p2MGVTRWJ3b0Q4ajRBQ2czQ1Bnb0kyNXVaaTVYU2dPY0lDZ1B5UGdBS0RzSS1Dd2lEb1k3dXR2RFp3WW9CQ2dQeVBnQUtEY0ktQ2dqMXRLMkVxY1RtM3dRS0FfSS1BQW9Od2o0S0NNdnRtWl9hZ29TUEpnb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0RjSS1DZ2k0dHNfbnpMZWozbWNTRkFBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbUdnUUlBQkFCR2dRSUFoQURHZ1FJQkJBRkdnUUlCaEFIR2dRSUNCQUpHZ1FJQ2hBTEdnUUlEQkFOR2dRSURoQVBHZ1FJRUJBUkdnUUlFaEFUR2dRSUZCQVZHZ1FJRmhBWEdnUUlHQkFaR2dRSUdoQWJHZ1FJSEJBZEdnUUlIaEFmR2dRSUlCQWhHZ1FJSWhBakdnUUlKQkFsR2dRSUpoQW5LaFFBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmdqD3dhdGNoLW5leHQtZmVlZA%3D%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -104,7 +104,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
title: "aespa 에스파 \'Savage\' MV", title: "aespa 에스파 \'Savage\' MV",
length: Some(259), length: Some(259),
@ -120,7 +120,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -132,14 +132,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 218055265, view_count: Some(218055265),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "4TWR90KJl84", id: "4TWR90KJl84",
title: "aespa 에스파 \'Next Level\' MV", title: "aespa 에스파 \'Next Level\' MV",
length: Some(236), length: Some(236),
@ -155,7 +157,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -167,14 +169,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 248023999, view_count: Some(248023999),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
title: "Red Velvet 레드벨벳 \'Psycho\' MV", title: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), length: Some(216),
@ -190,7 +194,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -202,14 +206,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 347102621, view_count: Some(347102621),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "UUUWIGx3hDE", id: "UUUWIGx3hDE",
title: "ITZY \"WANNABE\" Performance Video", title: "ITZY \"WANNABE\" Performance Video",
length: Some(198), length: Some(198),
@ -225,7 +231,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCDhM2k2Cua-JdobAh5moMFg", id: "UCDhM2k2Cua-JdobAh5moMFg",
name: "ITZY", name: "ITZY",
avatar: [ avatar: [
@ -237,14 +243,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 97453393, view_count: Some(97453393),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
title: "EVERGLOW (에버글로우) - DUN DUN MV", title: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), length: Some(209),
@ -260,7 +268,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_pwIXKXNm5KGhdEVzmY60A", id: "UC_pwIXKXNm5KGhdEVzmY60A",
name: "Stone Music Entertainment", name: "Stone Music Entertainment",
avatar: [ avatar: [
@ -272,14 +280,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 266364690, view_count: Some(266364690),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "32si5cfrCNc", id: "32si5cfrCNc",
title: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO", title: "BLACKPINK - \'How You Like That\' DANCE PERFORMANCE VIDEO",
length: Some(181), length: Some(181),
@ -295,7 +305,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -307,14 +317,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 1254749733, view_count: Some(1254749733),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
title: "TWICE \"I CAN\'T STOP ME\" M/V", title: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), length: Some(221),
@ -330,7 +342,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -342,14 +354,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 459831562, view_count: Some(459831562),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "UZPZyd5vE1c", id: "UZPZyd5vE1c",
title: "Shut Down", title: "Shut Down",
length: Some(176), length: Some(176),
@ -365,7 +379,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -377,14 +391,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 7118730, view_count: Some(7118730),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CKZvWhCqx1s", id: "CKZvWhCqx1s",
title: "ROSÉ - \'On The Ground\' M/V", title: "ROSÉ - \'On The Ground\' M/V",
length: Some(189), length: Some(189),
@ -400,7 +416,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -412,14 +428,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 300492226, view_count: Some(300492226),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "fE2h3lGlOsk", id: "fE2h3lGlOsk",
title: "ITZY \"WANNABE\" M/V @ITZY", title: "ITZY \"WANNABE\" M/V @ITZY",
length: Some(219), length: Some(219),
@ -435,7 +453,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -447,14 +465,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 469178299, view_count: Some(469178299),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
title: "IVE 아이브 \'LOVE DIVE\' MV", title: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), length: Some(179),
@ -470,7 +490,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCYDmx2Sfpnaxg488yBpZIGg", id: "UCYDmx2Sfpnaxg488yBpZIGg",
name: "starshipTV", name: "starshipTV",
avatar: [ avatar: [
@ -482,14 +502,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: 161053206, view_count: Some(161053206),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "dNCWe_6HAM8", id: "dNCWe_6HAM8",
title: "LISA - \'MONEY\' EXCLUSIVE PERFORMANCE VIDEO", title: "LISA - \'MONEY\' EXCLUSIVE PERFORMANCE VIDEO",
length: Some(171), length: Some(171),
@ -505,7 +527,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -517,14 +539,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 694135299, view_count: Some(694135299),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "tyrVtwE8Gv0", id: "tyrVtwE8Gv0",
title: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV", title: "NCT U 엔시티 유 \'Make A Wish (Birthday Song)\' MV",
length: Some(249), length: Some(249),
@ -540,7 +564,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -552,14 +576,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 256797155, view_count: Some(256797155),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "gU2HqP4NxUs", id: "gU2HqP4NxUs",
title: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo", title: "BLACKPINK - Pretty Savage 1011 SBS Inkigayo",
length: Some(208), length: Some(208),
@ -575,7 +601,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -587,14 +613,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 285625201, view_count: Some(285625201),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
title: "Red Velvet - IRENE & SEULGI \'Monster\' MV", title: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), length: Some(182),
@ -610,7 +638,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -622,14 +650,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 127297352, view_count: Some(127297352),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
title: "[MV] MAMAMOO (마마무) - HIP", title: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), length: Some(211),
@ -645,7 +675,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCuhAUMLzJxlP1W7mEk0_6lA", id: "UCuhAUMLzJxlP1W7mEk0_6lA",
name: "MAMAMOO", name: "MAMAMOO",
avatar: [ avatar: [
@ -657,14 +687,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 357346135, view_count: Some(357346135),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "XJDPzNzQ3RE", id: "XJDPzNzQ3RE",
title: "Run BTS! 2022 Special Episode - Fly BTS Fly Part 1", title: "Run BTS! 2022 Special Episode - Fly BTS Fly Part 1",
length: Some(2070), length: Some(2070),
@ -680,7 +712,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCLkAepWjdylmXSltofFvsYQ", id: "UCLkAepWjdylmXSltofFvsYQ",
name: "BANGTANTV", name: "BANGTANTV",
avatar: [ avatar: [
@ -692,14 +724,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 hours ago"), publish_date_txt: Some("2 hours ago"),
view_count: 748983, view_count: Some(748983),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "0lXwMdnpoFQ", id: "0lXwMdnpoFQ",
title: "aespa 에스파 \'도깨비불 (Illusion)\' Dance Practice", title: "aespa 에스파 \'도깨비불 (Illusion)\' Dance Practice",
length: Some(210), length: Some(210),
@ -715,7 +749,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC473RoZQE2gtgZJ61ZW0ZDQ", id: "UC473RoZQE2gtgZJ61ZW0ZDQ",
name: "SMP FLOOR", name: "SMP FLOOR",
avatar: [ avatar: [
@ -727,14 +761,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: 12347702, view_count: Some(12347702),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "IHNzOHi8sJs", id: "IHNzOHi8sJs",
title: "BLACKPINK - ‘뚜두뚜두 (DDU-DU DDU-DU) M/V", title: "BLACKPINK - ‘뚜두뚜두 (DDU-DU DDU-DU) M/V",
length: Some(216), length: Some(216),
@ -750,7 +786,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -762,27 +798,29 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 1964840790, view_count: Some(1964840790),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACqiDDJzNkw2d3lTQ1FxUENRb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0RzSS1Dd2pPcjZhVTlMN2ttdUVCQ2dQeVBnQUtFdEktRHdvTlVrUmFaV1Z5Y201MVRHazFSUW9EOGo0QUNnN0NQZ3NJLU1xaTZ1MlZ3NC01QVFvRDhqNEFDZzNDUGdvSXNZamU0NGJFeGFKUkNnUHlQZ0FLRGNJLUNnaXF4bzYxd01DQ3d6WUtBX0ktQUFvT3dqNExDTmVSckxfYzNNaTEzd0VLQV9JLUFBb053ajRLQ051Ym1ZdVYwb0RuQ0FvRDhqNEFDZzNDUGdvSTE2YTg4NTI1OXNsUkNnUHlQZ0FLRGNJLUNnamJqcXVGb2V1YjB3Z0tBX0ktQUFvTndqNEtDTW4xbEkzbHUtaW1mQW9EOGo0QUNnM0NQZ29JdXFpZTZ0SzRrZUZqQ2dQeVBnQUtEY0ktQ2dqUGdaejB2OC1sNkhRS0FfSS1BQW9Pd2o0TENQMjE4SW53dHJXVnR3RUtBX0ktQUFvT3dqNExDTXVLdF9DUDllR21nUUVLQV9JLUFBb053ajRLQ0szRXN0V3YwTC1iVWdvRDhqNEFDZzNDUGdvSWc1NzdoSnJSdDRvcUNnUHlQZ0FLRGNJLUNnaVJ1c1BtemZtenlGd0tBX0ktQUFvT3dqNExDTlRBcHMtZGh2eXEwZ0VLQV9JLUFBb053ajRLQ0p2aDhzV0g1OXk1SUFvRDhqNEFDaF9TUGh3S0dsSkVRVTk2ZFZaM1JWbDNZMUZFTkhWMmNHZEJUbU5JU0ZWM0NoX1NQaHdLR2xKRVFVOWZjQzFWYmpCSGVUbHVXRlZ0Wm1kaE0xTlNYMXAzQ2hfU1Bod0tHbEpFUVU5cFEwaENhR3R1VTBSd09HcFZWekJPUzFoWU9FMVJDaF9TUGh3S0dsSkVRVTlYWjBsd1lVbDZha1p6UVhkeE5GOXhWR2hyTlROQkNoX1NQaHdLR2xKRVFVOXFNVkpuZEhkZmVtZHJibWxSWkdkTU5XTnlVRmxCQ2hfU1Bod0tHbEpFUVU4NWExbHRhMU5KVG5CVGFYVldTalEzUjNkT1RWSm5DaF9TUGh3S0dsSkVRVTlGYjNOTlVtbHlhM1ZKTjNvNE1tSmZia0oyUjNoQkNoX1NQaHdLR2xKRVFVOW1PRlExTURaUVZGcFVWRmxDWm01RVRVNURiR0ZSQ2hfU1Bod0tHbEpFUVU5UllqSlhRWGxLYTBwMlRURmhaMGRYZEhkRkxVOUJDaF9TUGh3S0dsSkVRVTlNWDFGNk1scFJRbUZNUkROTFExTnFWalpYZG5wM0NoX1NQaHdLR2xKRVFVOXpjeTFGWVdSRFpHZzBUVmxYV0hsMGFtWkpabFYzQ2hfU1Bod0tHbEpFUVU4MVRraFVXblJGV0ROSGJIWlhRMjgyYTJOdGFrdDNDaF9TUGh3S0dsSkVRVTlMWDBjMVRVZzFaM0ZJUTNRd1VXdENZVlZJTjJwUkNoX1NQaHdLR2xKRVFVOVpUWEZhWlV4U1RXMXhaRW8zZGs5b09UQXRhME5CQ2hfU1Bod0tHbEpFUVU4eVNGbEJhMFpIYzBGSmFWVmthRE5NVUhGRE5UZG5FaFVBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmlnYUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY2FCQWdvRUNrYUJBZ29FQ29hQkFnb0VDc2FCQWdvRUN3YUJBZ29FQzBhQkFnb0VDNGFCQWdvRUM4YUJBZ29FREFhQkFnb0VERWFCQWdvRURJYUJBZ29FRE1hQkFnb0VEUWFCQWdvRURVYUJBZ29FRFlhQkFnb0VEY3FGUUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtS0FqD3dhdGNoLW5leHQtZmVlZA%3D%3D"), ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACqiDDJzNkw2d3lTQ1FxUENRb0Q4ajRBQ2czQ1Bnb0l1UFdDZ09mWDFmdFlDZ1B5UGdBS0RzSS1Dd2pPcjZhVTlMN2ttdUVCQ2dQeVBnQUtFdEktRHdvTlVrUmFaV1Z5Y201MVRHazFSUW9EOGo0QUNnN0NQZ3NJLU1xaTZ1MlZ3NC01QVFvRDhqNEFDZzNDUGdvSXNZamU0NGJFeGFKUkNnUHlQZ0FLRGNJLUNnaXF4bzYxd01DQ3d6WUtBX0ktQUFvT3dqNExDTmVSckxfYzNNaTEzd0VLQV9JLUFBb053ajRLQ051Ym1ZdVYwb0RuQ0FvRDhqNEFDZzNDUGdvSTE2YTg4NTI1OXNsUkNnUHlQZ0FLRGNJLUNnamJqcXVGb2V1YjB3Z0tBX0ktQUFvTndqNEtDTW4xbEkzbHUtaW1mQW9EOGo0QUNnM0NQZ29JdXFpZTZ0SzRrZUZqQ2dQeVBnQUtEY0ktQ2dqUGdaejB2OC1sNkhRS0FfSS1BQW9Pd2o0TENQMjE4SW53dHJXVnR3RUtBX0ktQUFvT3dqNExDTXVLdF9DUDllR21nUUVLQV9JLUFBb053ajRLQ0szRXN0V3YwTC1iVWdvRDhqNEFDZzNDUGdvSWc1NzdoSnJSdDRvcUNnUHlQZ0FLRGNJLUNnaVJ1c1BtemZtenlGd0tBX0ktQUFvT3dqNExDTlRBcHMtZGh2eXEwZ0VLQV9JLUFBb053ajRLQ0p2aDhzV0g1OXk1SUFvRDhqNEFDaF9TUGh3S0dsSkVRVTk2ZFZaM1JWbDNZMUZFTkhWMmNHZEJUbU5JU0ZWM0NoX1NQaHdLR2xKRVFVOWZjQzFWYmpCSGVUbHVXRlZ0Wm1kaE0xTlNYMXAzQ2hfU1Bod0tHbEpFUVU5cFEwaENhR3R1VTBSd09HcFZWekJPUzFoWU9FMVJDaF9TUGh3S0dsSkVRVTlYWjBsd1lVbDZha1p6UVhkeE5GOXhWR2hyTlROQkNoX1NQaHdLR2xKRVFVOXFNVkpuZEhkZmVtZHJibWxSWkdkTU5XTnlVRmxCQ2hfU1Bod0tHbEpFUVU4NWExbHRhMU5KVG5CVGFYVldTalEzUjNkT1RWSm5DaF9TUGh3S0dsSkVRVTlGYjNOTlVtbHlhM1ZKTjNvNE1tSmZia0oyUjNoQkNoX1NQaHdLR2xKRVFVOW1PRlExTURaUVZGcFVWRmxDWm01RVRVNURiR0ZSQ2hfU1Bod0tHbEpFUVU5UllqSlhRWGxLYTBwMlRURmhaMGRYZEhkRkxVOUJDaF9TUGh3S0dsSkVRVTlNWDFGNk1scFJRbUZNUkROTFExTnFWalpYZG5wM0NoX1NQaHdLR2xKRVFVOXpjeTFGWVdSRFpHZzBUVmxYV0hsMGFtWkpabFYzQ2hfU1Bod0tHbEpFUVU4MVRraFVXblJGV0ROSGJIWlhRMjgyYTJOdGFrdDNDaF9TUGh3S0dsSkVRVTlMWDBjMVRVZzFaM0ZJUTNRd1VXdENZVlZJTjJwUkNoX1NQaHdLR2xKRVFVOVpUWEZhWlV4U1RXMXhaRW8zZGs5b09UQXRhME5CQ2hfU1Bod0tHbEpFUVU4eVNGbEJhMFpIYzBGSmFWVmthRE5NVUhGRE5UZG5FaFVBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmlnYUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY2FCQWdvRUNrYUJBZ29FQ29hQkFnb0VDc2FCQWdvRUN3YUJBZ29FQzBhQkFnb0VDNGFCQWdvRUM4YUJBZ29FREFhQkFnb0VERWFCQWdvRURJYUJBZ29FRE1hQkFnb0VEUWFCQWdvRURVYUJBZ29FRFlhQkFnb0VEY3FGUUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtS0FqD3dhdGNoLW5leHQtZmVlZA%3D%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -525,7 +525,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "t03rmc-prJo", id: "t03rmc-prJo",
title: "This PC took 600 HOURS to Build!", title: "This PC took 600 HOURS to Build!",
length: Some(1505), length: Some(1505),
@ -541,7 +541,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -553,14 +553,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 3449572, view_count: Some(3449572),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "4ozYlgOuYis", id: "4ozYlgOuYis",
title: "They told me I was stupid - heating my pool with computers", title: "They told me I was stupid - heating my pool with computers",
length: Some(691), length: Some(691),
@ -576,7 +578,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -588,14 +590,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: 3209930, view_count: Some(3209930),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "THxkY59_xko", id: "THxkY59_xko",
title: "Is the fastest GPU ALWAYS the best?", title: "Is the fastest GPU ALWAYS the best?",
length: Some(979), length: Some(979),
@ -611,7 +615,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -623,14 +627,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 hours ago"), publish_date_txt: Some("6 hours ago"),
view_count: 640179, view_count: Some(640179),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "UJ-KZzVUV7U", id: "UJ-KZzVUV7U",
title: "This toaster cost HOW MUCH?? - Revolution InstaGLO R270 Toaster", title: "This toaster cost HOW MUCH?? - Revolution InstaGLO R270 Toaster",
length: Some(880), length: Some(880),
@ -646,7 +652,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCdBK94H6oZT2Q7l0-b0xmMg", id: "UCdBK94H6oZT2Q7l0-b0xmMg",
name: "ShortCircuit", name: "ShortCircuit",
avatar: [ avatar: [
@ -658,14 +664,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 905709, view_count: Some(905709),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "yayAQAC1XiE", id: "yayAQAC1XiE",
title: "Intel PLEASE let me Overclock this!", title: "Intel PLEASE let me Overclock this!",
length: Some(799), length: Some(799),
@ -681,7 +689,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -693,14 +701,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 days ago"), publish_date_txt: Some("7 days ago"),
view_count: 998245, view_count: Some(998245),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "y4T374GtKLI", id: "y4T374GtKLI",
title: "When The Grid Goes Down: How To Power Essential Devices (i.e., Refrigerator)", title: "When The Grid Goes Down: How To Power Essential Devices (i.e., Refrigerator)",
length: Some(1239), length: Some(1239),
@ -716,7 +726,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCmb2QRAjdnkse21CtxAQ-cA", id: "UCmb2QRAjdnkse21CtxAQ-cA",
name: "City Prepping", name: "City Prepping",
avatar: [ avatar: [
@ -728,14 +738,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 132460, view_count: Some(132460),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "b3x28s61q3c", id: "b3x28s61q3c",
title: "The most EXPENSIVE thing I own.", title: "The most EXPENSIVE thing I own.",
length: Some(887), length: Some(887),
@ -751,7 +763,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -763,14 +775,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 2372992, view_count: Some(2372992),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "LQ95XJAwaoc", id: "LQ95XJAwaoc",
title: "My favorite car (sucks) - Lucid Air GT", title: "My favorite car (sucks) - Lucid Air GT",
length: Some(1162), length: Some(1162),
@ -786,7 +800,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCdBK94H6oZT2Q7l0-b0xmMg", id: "UCdBK94H6oZT2Q7l0-b0xmMg",
name: "ShortCircuit", name: "ShortCircuit",
avatar: [ avatar: [
@ -798,14 +812,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 565416, view_count: Some(565416),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "WVjtK71qqXU", id: "WVjtK71qqXU",
title: "I bought a SECOND GPU… but NOT for gaming…", title: "I bought a SECOND GPU… but NOT for gaming…",
length: Some(754), length: Some(754),
@ -821,7 +837,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -833,14 +849,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 day ago"), publish_date_txt: Some("1 day ago"),
view_count: 1199845, view_count: Some(1199845),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "vtvFVH9JdNI", id: "vtvFVH9JdNI",
title: "I bought every Nintendo Console EVER.", title: "I bought every Nintendo Console EVER.",
length: Some(1381), length: Some(1381),
@ -856,7 +874,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCMiJRAwDNSNzuYeN2uWa0pA", id: "UCMiJRAwDNSNzuYeN2uWa0pA",
name: "Mrwhosetheboss", name: "Mrwhosetheboss",
avatar: [ avatar: [
@ -868,14 +886,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 days ago"), publish_date_txt: Some("2 days ago"),
view_count: 1379793, view_count: Some(1379793),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "J6Ga4wciA2k", id: "J6Ga4wciA2k",
title: "THIS Wish.com Gaming PC is WORSE!", title: "THIS Wish.com Gaming PC is WORSE!",
length: Some(1545), length: Some(1545),
@ -891,7 +911,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -903,14 +923,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: 2775764, view_count: Some(2775764),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CsoKWsZ-Tyw", id: "CsoKWsZ-Tyw",
title: "The Personal Gaming Theater - HOLY $H!T Samsung Odyssey Ark", title: "The Personal Gaming Theater - HOLY $H!T Samsung Odyssey Ark",
length: Some(1182), length: Some(1182),
@ -926,7 +948,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -938,14 +960,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 2449262, view_count: Some(2449262),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "9T98VsMe3oo", id: "9T98VsMe3oo",
title: "How are we going to do this?", title: "How are we going to do this?",
length: Some(1124), length: Some(1124),
@ -961,7 +985,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -973,14 +997,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 4321218, view_count: Some(4321218),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "5Hxr9k5Vdc4", id: "5Hxr9k5Vdc4",
title: "Building the $1,000,000 Computer", title: "Building the $1,000,000 Computer",
length: Some(1659), length: Some(1659),
@ -996,7 +1022,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1008,14 +1034,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: 3270062, view_count: Some(3270062),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "12Hcbx33Rb4", id: "12Hcbx33Rb4",
title: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", title: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA",
length: Some(1262), length: Some(1262),
@ -1031,7 +1059,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCkWQ0gDrqOCarmUKmppD7GQ", id: "UCkWQ0gDrqOCarmUKmppD7GQ",
name: "JayzTwoCents", name: "JayzTwoCents",
avatar: [ avatar: [
@ -1043,14 +1071,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 1274410, view_count: Some(1274410),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "EHkkwCjQzsc", id: "EHkkwCjQzsc",
title: "Prepper (2016) | Full Post-Apocalyptic Thriller Movie HD", title: "Prepper (2016) | Full Post-Apocalyptic Thriller Movie HD",
length: Some(5982), length: Some(5982),
@ -1066,7 +1096,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCRX7UEyE8kp35mPrgC2sosA", id: "UCRX7UEyE8kp35mPrgC2sosA",
name: "JoBlo Movies", name: "JoBlo Movies",
avatar: [ avatar: [
@ -1078,14 +1108,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: 209854, view_count: Some(209854),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "AOdp09SYhCc", id: "AOdp09SYhCc",
title: "This Is So Embarrassing! - Building a PC with My Sister", title: "This Is So Embarrassing! - Building a PC with My Sister",
length: Some(1063), length: Some(1063),
@ -1101,7 +1133,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1113,14 +1145,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 2453269, view_count: Some(2453269),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CTIpNtHWVtQ", id: "CTIpNtHWVtQ",
title: "Why Pay $1000 for a 25 year old PC! - NIXSYS Windows 98 PC", title: "Why Pay $1000 for a 25 year old PC! - NIXSYS Windows 98 PC",
length: Some(1112), length: Some(1112),
@ -1136,7 +1170,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1148,14 +1182,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 1478434, view_count: Some(1478434),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "3RIp7CwkBeA", id: "3RIp7CwkBeA",
title: "I Hope You Have a LOT of Money... RTX 4000 Announced", title: "I Hope You Have a LOT of Money... RTX 4000 Announced",
length: Some(569), length: Some(569),
@ -1171,7 +1207,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1183,14 +1219,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: 1816036, view_count: Some(1816036),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "HZiaHEmE9PQ", id: "HZiaHEmE9PQ",
title: "Buying a Chromebook was a BIG MISTAKE", title: "Buying a Chromebook was a BIG MISTAKE",
length: Some(880), length: Some(880),
@ -1206,7 +1244,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1218,27 +1256,29 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("9 days ago"), publish_date_txt: Some("9 days ago"),
view_count: 1625226, view_count: Some(1625226),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILbkZEQnhCVWZFNzTAAQHIAQEYACqIBjJzNkw2d3lfQkFxOEJBb0Q4ajRBQ2c3Q1Bnc0ltdG1tX1p6ei1xYTNBUW9EOGo0QUNnN0NQZ3NJcThTNW5lQ1N0c2JpQVFvRDhqNEFDZzNDUGdvSXlvel8tN21NbWI1TUNnUHlQZ0FLRGNJLUNnaTFyOUdxODh6aXoxQUtBX0ktQUFvT3dqNExDS0c4MVlXQWlLRFd5UUVLQV9JLUFBb093ajRMQ0xMUnRJMzRfYjNDeXdFS0FfSS1BQW9Od2o0S0NQZlcxdldzM3AyLWJ3b0Q4ajRBQ2czQ1Bnb0loOVhCZ2NtcjNvY3RDZ1B5UGdBS0RjSS1DZ2oxMHFycnU2VzdyRmtLQV9JLUFBb093ajRMQ05McHBmckhxdkh0dmdFS0FfSS1BQW9Od2o0S0NPbUdpTG13M09iUUp3b0Q4ajRBQ2czQ1Bnb0lySjc1czZ6TGd1VUtDZ1B5UGdBS0RzSS1Dd2lLdmZ1WTdJcmZuX1VCQ2dQeVBnQUtEc0ktQ3dqTzY5WHk1UDZhdnVRQkNnUHlQZ0FLRHNJLUN3aS1pOTN2OFkzM3NOY0JDZ1B5UGdBS0RjSS1DZ2pIbmNQR2dwakp2QkFLQV9JLUFBb013ajRKQ0tlSTRxUzl1dHB6Q2dQeVBnQUtEY0ktQ2dqVXJkbU83YWFLbVFrS0FfSS1BQW9Pd2o0TENPQ0xrT0hDdllxSjNRRUtBX0ktQUFvTndqNEtDUFRwazh6RXc2Yk1IUklVQUFJRUJnZ0tEQTRRRWhRV0dCb2NIaUFpSkNZYUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY3FGQUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtag93YXRjaC1uZXh0LWZlZWQ%3D"), ctoken: Some("CBQSExILbkZEQnhCVWZFNzTAAQHIAQEYACqIBjJzNkw2d3lfQkFxOEJBb0Q4ajRBQ2c3Q1Bnc0ltdG1tX1p6ei1xYTNBUW9EOGo0QUNnN0NQZ3NJcThTNW5lQ1N0c2JpQVFvRDhqNEFDZzNDUGdvSXlvel8tN21NbWI1TUNnUHlQZ0FLRGNJLUNnaTFyOUdxODh6aXoxQUtBX0ktQUFvT3dqNExDS0c4MVlXQWlLRFd5UUVLQV9JLUFBb093ajRMQ0xMUnRJMzRfYjNDeXdFS0FfSS1BQW9Od2o0S0NQZlcxdldzM3AyLWJ3b0Q4ajRBQ2czQ1Bnb0loOVhCZ2NtcjNvY3RDZ1B5UGdBS0RjSS1DZ2oxMHFycnU2VzdyRmtLQV9JLUFBb093ajRMQ05McHBmckhxdkh0dmdFS0FfSS1BQW9Od2o0S0NPbUdpTG13M09iUUp3b0Q4ajRBQ2czQ1Bnb0lySjc1czZ6TGd1VUtDZ1B5UGdBS0RzSS1Dd2lLdmZ1WTdJcmZuX1VCQ2dQeVBnQUtEc0ktQ3dqTzY5WHk1UDZhdnVRQkNnUHlQZ0FLRHNJLUN3aS1pOTN2OFkzM3NOY0JDZ1B5UGdBS0RjSS1DZ2pIbmNQR2dwakp2QkFLQV9JLUFBb013ajRKQ0tlSTRxUzl1dHB6Q2dQeVBnQUtEY0ktQ2dqVXJkbU83YWFLbVFrS0FfSS1BQW9Pd2o0TENPQ0xrT0hDdllxSjNRRUtBX0ktQUFvTndqNEtDUFRwazh6RXc2Yk1IUklVQUFJRUJnZ0tEQTRRRWhRV0dCb2NIaUFpSkNZYUJBZ0FFQUVhQkFnQ0VBTWFCQWdFRUFVYUJBZ0dFQWNhQkFnSUVBa2FCQWdLRUFzYUJBZ01FQTBhQkFnT0VBOGFCQWdRRUJFYUJBZ1NFQk1hQkFnVUVCVWFCQWdXRUJjYUJBZ1lFQmthQkFnYUVCc2FCQWdjRUIwYUJBZ2VFQjhhQkFnZ0VDRWFCQWdpRUNNYUJBZ2tFQ1VhQkFnbUVDY3FGQUFDQkFZSUNnd09FQklVRmhnYUhCNGdJaVFtag93YXRjaC1uZXh0LWZlZWQ%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(3200), count: Some(3200),
items: [], items: [],
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(3200), count: Some(3200),
items: [], items: [],
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -46,12 +46,12 @@ VideoDetails(
count: None, count: None,
items: [], items: [],
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyJSIRIgtIUkt1MGN2cnJfbzABeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyJSIRIgtIUkt1MGN2cnJfbzABeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: None, count: None,
items: [], items: [],
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyOCIRIgtIUkt1MGN2cnJfbzABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyOCIRIgtIUkt1MGN2cnJfbzABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -51,7 +51,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "-YpwsdRKt8Q", id: "-YpwsdRKt8Q",
title: "SpiegelMining Reverse Engineering von Spiegel-Online (33c3)", title: "SpiegelMining Reverse Engineering von Spiegel-Online (33c3)",
length: Some(3526), length: Some(3526),
@ -67,7 +67,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -79,14 +79,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 years ago"), publish_date_txt: Some("5 years ago"),
view_count: 2749364, view_count: Some(2749364),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "4z3mu63yxII", id: "4z3mu63yxII",
title: "Gregor Gysi & Martin Sonneborn", title: "Gregor Gysi & Martin Sonneborn",
length: Some(5272), length: Some(5272),
@ -102,7 +104,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCBWSgdr27NcLig0XzWLq2gQ", id: "UCBWSgdr27NcLig0XzWLq2gQ",
name: "MISS-VERSTEHEN SIE MICH RICHTIG", name: "MISS-VERSTEHEN SIE MICH RICHTIG",
avatar: [ avatar: [
@ -114,14 +116,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 2266658, view_count: Some(2266658),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "WhgRRpA3b2c", id: "WhgRRpA3b2c",
title: "36C3 - Verkehrswende selber hacken", title: "36C3 - Verkehrswende selber hacken",
length: Some(3176), length: Some(3176),
@ -137,7 +141,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -149,14 +153,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 260941, view_count: Some(260941),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "5qNHtdN07FM", id: "5qNHtdN07FM",
title: "GPN16: Wie baut man eigentlich Raumschiffe (urs)", title: "GPN16: Wie baut man eigentlich Raumschiffe (urs)",
length: Some(5172), length: Some(5172),
@ -172,7 +178,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -184,14 +190,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 1229987, view_count: Some(1229987),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "7FeqF1-Z1g0", id: "7FeqF1-Z1g0",
title: "David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast", title: "David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast",
length: Some(3820), length: Some(3820),
@ -207,7 +215,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -219,14 +227,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 years ago"), publish_date_txt: Some("7 years ago"),
view_count: 6095028, view_count: Some(6095028),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "1vcP9UWrWBI", id: "1vcP9UWrWBI",
title: "Easterhegg 2019 - Kernreaktoren", title: "Easterhegg 2019 - Kernreaktoren",
length: Some(7263), length: Some(7263),
@ -242,7 +252,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -254,14 +264,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 46470, view_count: Some(46470),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "jnp1veXQf7U", id: "jnp1veXQf7U",
title: "Blockchain - Ein außer Kontrolle geratenes Laborexperiment? #GPN19", title: "Blockchain - Ein außer Kontrolle geratenes Laborexperiment? #GPN19",
length: Some(3362), length: Some(3362),
@ -277,7 +289,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -289,14 +301,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 25136, view_count: Some(25136),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "77OlKRkaixo", id: "77OlKRkaixo",
title: "leyrer, MacLemon: E-Mail. Hässlich, aber es funktioniert #eh16", title: "leyrer, MacLemon: E-Mail. Hässlich, aber es funktioniert #eh16",
length: Some(6998), length: Some(6998),
@ -312,7 +326,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -324,14 +338,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 44410, view_count: Some(44410),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "u29--YNGMyg", id: "u29--YNGMyg",
title: "Physikalisches Kolloquium 22. Juli 2011 - Vortrag von Prof. Dr. Harald Lesch", title: "Physikalisches Kolloquium 22. Juli 2011 - Vortrag von Prof. Dr. Harald Lesch",
length: Some(6715), length: Some(6715),
@ -347,7 +363,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCvZLsBb-8Og4FvBUom9zPHQ", id: "UCvZLsBb-8Og4FvBUom9zPHQ",
name: "Universität Bayreuth", name: "Universität Bayreuth",
avatar: [ avatar: [
@ -359,14 +375,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 years ago"), publish_date_txt: Some("11 years ago"),
view_count: 4184357, view_count: Some(4184357),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "urt2_ACal9A", id: "urt2_ACal9A",
title: "CCC-Jahresrückblick 2016 (33c3)", title: "CCC-Jahresrückblick 2016 (33c3)",
length: Some(8170), length: Some(8170),
@ -382,7 +400,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -394,14 +412,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 years ago"), publish_date_txt: Some("5 years ago"),
view_count: 36111, view_count: Some(36111),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "PnBs9oH2Lx8", id: "PnBs9oH2Lx8",
title: "Easterhegg 2019 - Wie ich die Regierung gehackt habe", title: "Easterhegg 2019 - Wie ich die Regierung gehackt habe",
length: Some(3147), length: Some(3147),
@ -417,7 +437,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -429,14 +449,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 20322, view_count: Some(20322),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "yaCiVvBD-xc", id: "yaCiVvBD-xc",
title: "Mathias Dalheimer: Wie man einen Blackout verursacht", title: "Mathias Dalheimer: Wie man einen Blackout verursacht",
length: Some(3748), length: Some(3748),
@ -452,7 +474,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -464,14 +486,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 482258, view_count: Some(482258),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "1PJnEwoFSXo", id: "1PJnEwoFSXo",
title: "Das Geheimnis der Hieroglyphen | Doku HD | ARTE", title: "Das Geheimnis der Hieroglyphen | Doku HD | ARTE",
length: Some(5541), length: Some(5541),
@ -487,7 +511,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCLLibJTCy3sXjHLVaDimnpQ", id: "UCLLibJTCy3sXjHLVaDimnpQ",
name: "ARTEde", name: "ARTEde",
avatar: [ avatar: [
@ -499,14 +523,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("12 days ago"), publish_date_txt: Some("12 days ago"),
view_count: 427756, view_count: Some(427756),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "iIDZ8pJKLZA", id: "iIDZ8pJKLZA",
title: "36C3 ChaosWest: Bahn API Chaos", title: "36C3 ChaosWest: Bahn API Chaos",
length: Some(3056), length: Some(3056),
@ -522,7 +548,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -534,14 +560,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 26926, view_count: Some(26926),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "PhUQN6fd5O4", id: "PhUQN6fd5O4",
title: "35C3 - Jahresrückblick des CCC 2018", title: "35C3 - Jahresrückblick des CCC 2018",
length: Some(8102), length: Some(8102),
@ -557,7 +585,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -569,14 +597,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 126093, view_count: Some(126093),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "bzr0c8qzQoc", id: "bzr0c8qzQoc",
title: "GPN19 - Beton", title: "GPN19 - Beton",
length: Some(3972), length: Some(3972),
@ -592,7 +622,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -604,14 +634,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 13243, view_count: Some(13243),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "IeX1F-Jjq9E", id: "IeX1F-Jjq9E",
title: "Lars “Pylon” Weiler (DC4LW): Weltraumkommunikation", title: "Lars “Pylon” Weiler (DC4LW): Weltraumkommunikation",
length: Some(5075), length: Some(5075),
@ -627,7 +659,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -639,14 +671,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 80624, view_count: Some(80624),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "gsnL4m57MCM", id: "gsnL4m57MCM",
title: "David Kriesel: SpiegelMining Reverse Engineering von Spiegel-Online", title: "David Kriesel: SpiegelMining Reverse Engineering von Spiegel-Online",
length: Some(3526), length: Some(3526),
@ -662,7 +696,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCeO-zvUfuEdPMDoNST6hy1A", id: "UCeO-zvUfuEdPMDoNST6hy1A",
name: "Killuminati ∆", name: "Killuminati ∆",
avatar: [ avatar: [
@ -674,14 +708,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 years ago"), publish_date_txt: Some("5 years ago"),
view_count: 29009, view_count: Some(29009),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "uEEHq6f8RsM", id: "uEEHq6f8RsM",
title: "Leyrer: Moderne Linux Kommandozeilenwerkzeuge - Edition \"Allein zu Haus\"", title: "Leyrer: Moderne Linux Kommandozeilenwerkzeuge - Edition \"Allein zu Haus\"",
length: Some(3716), length: Some(3716),
@ -697,7 +733,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2TXq_t06Hjdr2g_KdKpHQg", id: "UC2TXq_t06Hjdr2g_KdKpHQg",
name: "media.ccc.de", name: "media.ccc.de",
avatar: [ avatar: [
@ -709,27 +745,29 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: 67538, view_count: Some(67538),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILMHJiOUNmT3ZvamvAAQHIAQEYACqrBjJzNkw2d3paQkFyV0JBb0Q4ajRBQ2c3Q1Bnc0l4Ty1xb3AyV25NWDVBUW9EOGo0QUNnN0NQZ3NJZ29uTDc3clgtWjdqQVFvRDhqNEFDZzNDUGdvSTU5N2RnZW1vaEl4YUNnUHlQZ0FLSWRJLUhnb2NVa1JEVFZWRE1sUlljVjkwTURaSWFtUnlNbWRmUzJSTGNFaFJad29EOGo0QUNnN0NQZ3NJMDlqVG05MzIwZEhtQVFvRDhqNEFDZzdDUGdzSWphem5fUFhDNnF2c0FRb0Q4ajRBQ2c3Q1Bnc0lrckN0cmRULXdfdldBUW9EOGo0QUNnN0NQZ3NJdGZfQnJ0NjNuYjJPQVFvRDhqNEFDZzdDUGdzSW1wYnF5SkdsNmRudkFRb0Q4ajRBQ2c3Q1Bnc0lxT2FZbXBqZjM3ZTdBUW9EOGo0QUNnN0NQZ3NJMEtfcWhNRGYzZDI2QVFvRDhqNEFDZzNDUGdvSW45N1lqLWllbTdnLUNnUHlQZ0FLRHNJLUN3aVg5by1DNzhxbzBNa0JDZ1B5UGdBS0RzSS1Dd2o2a3BYUXNPS1otZFFCQ2dQeVBnQUtEc0ktQ3dpUTI2aVNxYjYyd0lnQkNnUHlQZ0FLRGNJLUNnanV5ZmUtLW9iRWlqNEtBX0ktQUFvTndqNEtDSWVGemRXOGpyMmRid29EOGo0QUNnM0NQZ29JMGRlT2tfNmlfZkloQ2dQeVBnQUtEc0ktQ3dpajRPenpwdnp5NUlJQkNnUHlQZ0FLRHNJLUN3akRqZkdfdXZYQm9MZ0JFaFFBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmhvRUNBQVFBUm9FQ0FJUUF4b0VDQVFRQlJvRUNBWVFCeG9FQ0FnUUNSb0VDQW9RQ3hvRUNBd1FEUm9FQ0E0UUR4b0VDQkFRRVJvRUNCSVFFeG9FQ0JRUUZSb0VDQllRRnhvRUNCZ1FHUm9FQ0JvUUd4b0VDQndRSFJvRUNCNFFIeG9FQ0NBUUlSb0VDQ0lRSXhvRUNDUVFKUm9FQ0NZUUp5b1VBQUlFQmdnS0RBNFFFaFFXR0JvY0hpQWlKQ1lqD3dhdGNoLW5leHQtZmVlZA%3D%3D"), ctoken: Some("CBQSExILMHJiOUNmT3ZvamvAAQHIAQEYACqrBjJzNkw2d3paQkFyV0JBb0Q4ajRBQ2c3Q1Bnc0l4Ty1xb3AyV25NWDVBUW9EOGo0QUNnN0NQZ3NJZ29uTDc3clgtWjdqQVFvRDhqNEFDZzNDUGdvSTU5N2RnZW1vaEl4YUNnUHlQZ0FLSWRJLUhnb2NVa1JEVFZWRE1sUlljVjkwTURaSWFtUnlNbWRmUzJSTGNFaFJad29EOGo0QUNnN0NQZ3NJMDlqVG05MzIwZEhtQVFvRDhqNEFDZzdDUGdzSWphem5fUFhDNnF2c0FRb0Q4ajRBQ2c3Q1Bnc0lrckN0cmRULXdfdldBUW9EOGo0QUNnN0NQZ3NJdGZfQnJ0NjNuYjJPQVFvRDhqNEFDZzdDUGdzSW1wYnF5SkdsNmRudkFRb0Q4ajRBQ2c3Q1Bnc0lxT2FZbXBqZjM3ZTdBUW9EOGo0QUNnN0NQZ3NJMEtfcWhNRGYzZDI2QVFvRDhqNEFDZzNDUGdvSW45N1lqLWllbTdnLUNnUHlQZ0FLRHNJLUN3aVg5by1DNzhxbzBNa0JDZ1B5UGdBS0RzSS1Dd2o2a3BYUXNPS1otZFFCQ2dQeVBnQUtEc0ktQ3dpUTI2aVNxYjYyd0lnQkNnUHlQZ0FLRGNJLUNnanV5ZmUtLW9iRWlqNEtBX0ktQUFvTndqNEtDSWVGemRXOGpyMmRid29EOGo0QUNnM0NQZ29JMGRlT2tfNmlfZkloQ2dQeVBnQUtEc0ktQ3dpajRPenpwdnp5NUlJQkNnUHlQZ0FLRHNJLUN3akRqZkdfdXZYQm9MZ0JFaFFBQWdRR0NBb01EaEFTRkJZWUdod2VJQ0lrSmhvRUNBQVFBUm9FQ0FJUUF4b0VDQVFRQlJvRUNBWVFCeG9FQ0FnUUNSb0VDQW9RQ3hvRUNBd1FEUm9FQ0E0UUR4b0VDQkFRRVJvRUNCSVFFeG9FQ0JRUUZSb0VDQllRRnhvRUNCZ1FHUm9FQ0JvUUd4b0VDQndRSFJvRUNCNFFIeG9FQ0NBUUlSb0VDQ0lRSXhvRUNDUVFKUm9FQ0NZUUp5b1VBQUlFQmdnS0RBNFFFaFFXR0JvY0hpQWlKQ1lqD3dhdGNoLW5leHQtZmVlZA%3D%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(2200), count: Some(2200),
items: [], items: [],
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyJSIRIgswcmI5Q2ZPdm9qazAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyJSIRIgswcmI5Q2ZPdm9qazAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(2200), count: Some(2200),
items: [], items: [],
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyOCIRIgswcmI5Q2ZPdm9qazABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyOCIRIgswcmI5Q2ZPdm9qazABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -519,7 +519,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "AOdp09SYhCc", id: "AOdp09SYhCc",
title: "This Is So Embarrassing!", title: "This Is So Embarrassing!",
length: Some(1063), length: Some(1063),
@ -535,7 +535,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -547,14 +547,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 days ago"), publish_date_txt: Some("2 days ago"),
view_count: 1862544, view_count: Some(1862544),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CY3OQh-7wIk", id: "CY3OQh-7wIk",
title: "The Computer I Would Actually BUY", title: "The Computer I Would Actually BUY",
length: Some(6478), length: Some(6478),
@ -570,7 +572,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -582,14 +584,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 8 days ago"), publish_date_txt: Some("Streamed 8 days ago"),
view_count: 946996, view_count: Some(946996),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "LQ95XJAwaoc", id: "LQ95XJAwaoc",
title: "My favorite car (sucks)", title: "My favorite car (sucks)",
length: Some(1162), length: Some(1162),
@ -605,7 +609,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCdBK94H6oZT2Q7l0-b0xmMg", id: "UCdBK94H6oZT2Q7l0-b0xmMg",
name: "ShortCircuit", name: "ShortCircuit",
avatar: [ avatar: [
@ -617,14 +621,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 day ago"), publish_date_txt: Some("1 day ago"),
view_count: 349251, view_count: Some(349251),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "mhMQeJ5Qmp0", id: "mhMQeJ5Qmp0",
title: "The Apple Newton MessagePad.", title: "The Apple Newton MessagePad.",
length: Some(758), length: Some(758),
@ -640,7 +646,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC7Jwj9fkrf1adN4fMmTkpug", id: "UC7Jwj9fkrf1adN4fMmTkpug",
name: "DankPods", name: "DankPods",
avatar: [ avatar: [
@ -652,14 +658,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 day ago"), publish_date_txt: Some("1 day ago"),
view_count: 375458, view_count: Some(375458),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "1ctXiZsN6ac", id: "1ctXiZsN6ac",
title: "The Reviewer Got Reviewed - WAN Show September 9, 2022", title: "The Reviewer Got Reviewed - WAN Show September 9, 2022",
length: Some(10265), length: Some(10265),
@ -675,7 +683,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -687,14 +695,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 days ago"), publish_date_txt: Some("Streamed 6 days ago"),
view_count: 734463, view_count: Some(734463),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CMR9z9Xr8GM", id: "CMR9z9Xr8GM",
title: "Storing Solar Power on my ROOF!!!", title: "Storing Solar Power on my ROOF!!!",
length: Some(1028), length: Some(1028),
@ -710,7 +720,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCKd49wwdEdIoM-7Fumhwmog", id: "UCKd49wwdEdIoM-7Fumhwmog",
name: "Quint BUILDs", name: "Quint BUILDs",
avatar: [ avatar: [
@ -722,14 +732,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 months ago"), publish_date_txt: Some("11 months ago"),
view_count: 2773698, view_count: Some(2773698),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "fT2KhJ8W-Kg", id: "fT2KhJ8W-Kg",
title: "How gas pumps know when to turn themselves off", title: "How gas pumps know when to turn themselves off",
length: Some(836), length: Some(836),
@ -745,7 +757,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEIwxahdLz7bap-VDs9h35A", id: "UCEIwxahdLz7bap-VDs9h35A",
name: "Steve Mould", name: "Steve Mould",
avatar: [ avatar: [
@ -757,14 +769,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("8 hours ago"), publish_date_txt: Some("8 hours ago"),
view_count: 219605, view_count: Some(219605),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "12Hcbx33Rb4", id: "12Hcbx33Rb4",
title: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA", title: "BREAKING NEWS! - EVGA will no longer do business with NVIDIA",
length: Some(1262), length: Some(1262),
@ -780,7 +794,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCkWQ0gDrqOCarmUKmppD7GQ", id: "UCkWQ0gDrqOCarmUKmppD7GQ",
name: "JayzTwoCents", name: "JayzTwoCents",
avatar: [ avatar: [
@ -792,14 +806,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 hours ago"), publish_date_txt: Some("4 hours ago"),
view_count: 145345, view_count: Some(145345),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "QW1SsqmaIuE", id: "QW1SsqmaIuE",
title: "I Surprised My Subscriber with his Dream Gaming Setup! - Season 8", title: "I Surprised My Subscriber with his Dream Gaming Setup! - Season 8",
length: Some(2177), length: Some(2177),
@ -815,7 +831,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UChIZGfcnjHI0DG4nweWEduw", id: "UChIZGfcnjHI0DG4nweWEduw",
name: "TechSource", name: "TechSource",
avatar: [ avatar: [
@ -827,14 +843,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 hours ago"), publish_date_txt: Some("6 hours ago"),
view_count: 50033, view_count: Some(50033),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "JAcSNL1T3OA", id: "JAcSNL1T3OA",
title: "Why Did I Drill 1756 Holes in This?", title: "Why Did I Drill 1756 Holes in This?",
length: Some(1293), length: Some(1293),
@ -850,7 +868,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVveEFTOd6khhSXXnRhxJmg", id: "UCVveEFTOd6khhSXXnRhxJmg",
name: "Fireball Tool", name: "Fireball Tool",
avatar: [ avatar: [
@ -862,14 +880,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: 1163652, view_count: Some(1163652),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ZVtOss1U7_s", id: "ZVtOss1U7_s",
title: "VW Beetle converted to electric in a day", title: "VW Beetle converted to electric in a day",
length: Some(826), length: Some(826),
@ -885,7 +905,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCq1Oqk1I7zeYlDiJTFWLoFA", id: "UCq1Oqk1I7zeYlDiJTFWLoFA",
name: "Electric Classic Cars", name: "Electric Classic Cars",
avatar: [ avatar: [
@ -897,14 +917,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 3266169, view_count: Some(3266169),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "2kJDTzFtUr4", id: "2kJDTzFtUr4",
title: "How ASML, TSMC And Intel Dominate The Chip Market | CNBC Marathon", title: "How ASML, TSMC And Intel Dominate The Chip Market | CNBC Marathon",
length: Some(3399), length: Some(3399),
@ -920,7 +942,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCvJJ_dzjViJCoLf5uKUTwoA", id: "UCvJJ_dzjViJCoLf5uKUTwoA",
name: "CNBC", name: "CNBC",
avatar: [ avatar: [
@ -932,14 +954,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: 678935, view_count: Some(678935),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "0rCbfsuKdYw", id: "0rCbfsuKdYw",
title: "I bought every Playstation Ever.", title: "I bought every Playstation Ever.",
length: Some(1046), length: Some(1046),
@ -955,7 +979,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCMiJRAwDNSNzuYeN2uWa0pA", id: "UCMiJRAwDNSNzuYeN2uWa0pA",
name: "Mrwhosetheboss", name: "Mrwhosetheboss",
avatar: [ avatar: [
@ -967,14 +991,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 7569956, view_count: Some(7569956),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "sbdU7AkH6QM", id: "sbdU7AkH6QM",
title: "Reviewing Free Energy Generators. A Response to My Video \"Nikola Tesla\'s Greatest Invention\"- 102", title: "Reviewing Free Energy Generators. A Response to My Video \"Nikola Tesla\'s Greatest Invention\"- 102",
length: Some(1387), length: Some(1387),
@ -990,7 +1016,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_SLthyNX_ivd-dmsFgmJVg", id: "UC_SLthyNX_ivd-dmsFgmJVg",
name: "Jeremy Fielding", name: "Jeremy Fielding",
avatar: [ avatar: [
@ -1002,14 +1028,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: 3374461, view_count: Some(3374461),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "zcchDu7KoYs", id: "zcchDu7KoYs",
title: "AMDs Victory Lap - HOLY $H!T Threadripper Pro 5995WX", title: "AMDs Victory Lap - HOLY $H!T Threadripper Pro 5995WX",
length: Some(872), length: Some(872),
@ -1025,7 +1053,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1037,14 +1065,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 days ago"), publish_date_txt: Some("5 days ago"),
view_count: 1322625, view_count: Some(1322625),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "pd6DsSjqhFE", id: "pd6DsSjqhFE",
title: "Top Gear Satisfaction Survey Compilation", title: "Top Gear Satisfaction Survey Compilation",
length: Some(986), length: Some(986),
@ -1060,7 +1090,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCupQghOyPai8Hxg4RqMERvA", id: "UCupQghOyPai8Hxg4RqMERvA",
name: "incT", name: "incT",
avatar: [ avatar: [
@ -1072,14 +1102,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 255945, view_count: Some(255945),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "2K5Gqp1cEcM", id: "2K5Gqp1cEcM",
title: "Why our Screwdriver took 3 YEARS", title: "Why our Screwdriver took 3 YEARS",
length: Some(1752), length: Some(1752),
@ -1095,7 +1127,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1107,14 +1139,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: 2930532, view_count: Some(2930532),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "t03rmc-prJo", id: "t03rmc-prJo",
title: "This PC took 600 HOURS to Build!", title: "This PC took 600 HOURS to Build!",
length: Some(1505), length: Some(1505),
@ -1130,7 +1164,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCXuqSBlHAE6Xw-yeJA0Tunw", id: "UCXuqSBlHAE6Xw-yeJA0Tunw",
name: "Linus Tech Tips", name: "Linus Tech Tips",
avatar: [ avatar: [
@ -1142,14 +1176,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("12 days ago"), publish_date_txt: Some("12 days ago"),
view_count: 2743664, view_count: Some(2743664),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "QTH9m6MDIfc", id: "QTH9m6MDIfc",
title: "One Year Ago I Built an Ecosystem, This Happened", title: "One Year Ago I Built an Ecosystem, This Happened",
length: Some(485), length: Some(485),
@ -1165,7 +1201,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCYmna5rFHIesFteksAvFOfg", id: "UCYmna5rFHIesFteksAvFOfg",
name: "Dr. Plants", name: "Dr. Plants",
avatar: [ avatar: [
@ -1177,27 +1213,29 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: 7958495, view_count: Some(7958495),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILbkZEQnhCVWZFNzTAAQHIAQEYACqkBjJzNkw2d3pVQkFyUkJBb0Q4ajRBQ2d6Q1Bna0lwNGppcEwyNjJuTUtBX0ktQUFvTndqNEtDSW1CN18yaHlQUEdDUW9EOGo0QUNnM0NQZ29JaDlYQmdjbXIzb2N0Q2dQeVBnQUtEc0ktQ3dpZHRjTHlpWV9FaVpvQkNnUHlQZ0FLRHNJLUN3aW4wN2ZZbWZIVjVkVUJDZ1B5UGdBS0RjSS1DZ2pqNEstdl9ibWY0Z2dLQV9JLUFBb053ajRLQ0tqeDJfakowT0tlZlFvRDhqNEFDZzdDUGdzSXZvdmQ3X0dOOTdEWEFRb0Q4ajRBQ2czQ1Bnb0k0Y1hvektyVzFMWkJDZ1B5UGdBS0RjSS1DZ2pndWNfcXk4YkVneVFLQV9JLUFBb053ajRLQ1B2ZjAtcXMxdE90WlFvRDhqNEFDaUhTUGg0S0hGSkVRMDFWUTFoMWNWTkNiRWhCUlRaWWR5MTVaVXBCTUZSMWJuY0tBX0ktQUFvT3dqNExDTDZsdFl2ejZaQ2gyZ0VLQV9JLUFBb093ajRMQ0l6cnFkenM3NmJZMGdFS0FfSS1BQW9Pd2o0TENJUFNuOGpBbmRYYnNRRUtBX0ktQUFvT3dqNExDSXZEcXZidW9jamp6UUVLQV9JLUFBb093ajRMQ05HSXFzZVM5cUR2cFFFS0FfSS1BQW9Pd2o0TENNT2o4T3FwMVpIWDJBRUtBX0ktQUFvT3dqNExDSnJacHYyYzhfcW10d0VLQV9JLUFBb053ajRLQ1BmRGpKaTZzXy1ZUVJJVUFBSUVCZ2dLREE0UUVoUVdHQm9jSGlBaUpDWWFCQWdBRUFFYUJBZ0NFQU1hQkFnRUVBVWFCQWdHRUFjYUJBZ0lFQWthQkFnS0VBc2FCQWdNRUEwYUJBZ09FQThhQkFnUUVCRWFCQWdTRUJNYUJBZ1VFQlVhQkFnV0VCY2FCQWdZRUJrYUJBZ2FFQnNhQkFnY0VCMGFCQWdlRUI4YUJBZ2dFQ0VhQkFnaUVDTWFCQWdrRUNVYUJBZ21FQ2NxRkFBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbWoPd2F0Y2gtbmV4dC1mZWVk"), ctoken: Some("CBQSExILbkZEQnhCVWZFNzTAAQHIAQEYACqkBjJzNkw2d3pVQkFyUkJBb0Q4ajRBQ2d6Q1Bna0lwNGppcEwyNjJuTUtBX0ktQUFvTndqNEtDSW1CN18yaHlQUEdDUW9EOGo0QUNnM0NQZ29JaDlYQmdjbXIzb2N0Q2dQeVBnQUtEc0ktQ3dpZHRjTHlpWV9FaVpvQkNnUHlQZ0FLRHNJLUN3aW4wN2ZZbWZIVjVkVUJDZ1B5UGdBS0RjSS1DZ2pqNEstdl9ibWY0Z2dLQV9JLUFBb053ajRLQ0tqeDJfakowT0tlZlFvRDhqNEFDZzdDUGdzSXZvdmQ3X0dOOTdEWEFRb0Q4ajRBQ2czQ1Bnb0k0Y1hvektyVzFMWkJDZ1B5UGdBS0RjSS1DZ2pndWNfcXk4YkVneVFLQV9JLUFBb053ajRLQ1B2ZjAtcXMxdE90WlFvRDhqNEFDaUhTUGg0S0hGSkVRMDFWUTFoMWNWTkNiRWhCUlRaWWR5MTVaVXBCTUZSMWJuY0tBX0ktQUFvT3dqNExDTDZsdFl2ejZaQ2gyZ0VLQV9JLUFBb093ajRMQ0l6cnFkenM3NmJZMGdFS0FfSS1BQW9Pd2o0TENJUFNuOGpBbmRYYnNRRUtBX0ktQUFvT3dqNExDSXZEcXZidW9jamp6UUVLQV9JLUFBb093ajRMQ05HSXFzZVM5cUR2cFFFS0FfSS1BQW9Pd2o0TENNT2o4T3FwMVpIWDJBRUtBX0ktQUFvT3dqNExDSnJacHYyYzhfcW10d0VLQV9JLUFBb053ajRLQ1BmRGpKaTZzXy1ZUVJJVUFBSUVCZ2dLREE0UUVoUVdHQm9jSGlBaUpDWWFCQWdBRUFFYUJBZ0NFQU1hQkFnRUVBVWFCQWdHRUFjYUJBZ0lFQWthQkFnS0VBc2FCQWdNRUEwYUJBZ09FQThhQkFnUUVCRWFCQWdTRUJNYUJBZ1VFQlVhQkFnV0VCY2FCQWdZRUJrYUJBZ2FFQnNhQkFnY0VCMGFCQWdlRUI4YUJBZ2dFQ0VhQkFnaUVDTWFCQWdrRUNVYUJBZ21FQ2NxRkFBQ0JBWUlDZ3dPRUJJVUZoZ2FIQjRnSWlRbWoPd2F0Y2gtbmV4dC1mZWVk"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(2900), count: Some(2900),
items: [], items: [],
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(2900), count: Some(2900),
items: [], items: [],
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -73,7 +73,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "SGP6Y0Pnhe4", id: "SGP6Y0Pnhe4",
title: "HOW IT WORKS: The International Space Station", title: "HOW IT WORKS: The International Space Station",
length: Some(1738), length: Some(1738),
@ -89,7 +89,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_sXrcURB-Dh4az_FveeQ0Q", id: "UC_sXrcURB-Dh4az_FveeQ0Q",
name: "DOCUMENTARY TUBE", name: "DOCUMENTARY TUBE",
avatar: [ avatar: [
@ -101,14 +101,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 years ago"), publish_date_txt: Some("7 years ago"),
view_count: 90280310, view_count: Some(90280310),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ddZu_1Z3BAc", id: "ddZu_1Z3BAc",
title: "NASA LIVE Stream From The ISS - Live Earth & Space Station Views & Audio", title: "NASA LIVE Stream From The ISS - Live Earth & Space Station Views & Audio",
length: None, length: None,
@ -124,7 +126,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCakgsb0w7QB0VHdnCc-OVEA", id: "UCakgsb0w7QB0VHdnCc-OVEA",
name: "Space Videos", name: "Space Videos",
avatar: [ avatar: [
@ -136,14 +138,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: 80, view_count: Some(80),
is_live: true, is_live: true,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "oDXBMjg9HKU", id: "oDXBMjg9HKU",
title: "APOD: 2022-09-20 - Star Forming Region NGC 3582 without Stars (Narrated by Amy)", title: "APOD: 2022-09-20 - Star Forming Region NGC 3582 without Stars (Narrated by Amy)",
length: Some(124), length: Some(124),
@ -159,7 +163,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCZepiiyNNbD2XL5sWnJBC_A", id: "UCZepiiyNNbD2XL5sWnJBC_A",
name: "Videotizer", name: "Videotizer",
avatar: [ avatar: [
@ -171,14 +175,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("10 hours ago"), publish_date_txt: Some("10 hours ago"),
view_count: 13, view_count: Some(13),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "aU0vNvVHXa8", id: "aU0vNvVHXa8",
title: "🌎 LIVE ASTEROID Watch Tracking", title: "🌎 LIVE ASTEROID Watch Tracking",
length: None, length: None,
@ -194,7 +200,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCNrGOnduIS9BXIRmDcHasZA", id: "UCNrGOnduIS9BXIRmDcHasZA",
name: "WorldCam", name: "WorldCam",
avatar: [ avatar: [
@ -206,14 +212,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: 23, view_count: Some(23),
is_live: true, is_live: true,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "6scCF_8YN70", id: "6scCF_8YN70",
title: "Dramatic footage of the tsunami that hit Japan", title: "Dramatic footage of the tsunami that hit Japan",
length: Some(133), length: Some(133),
@ -229,7 +237,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCelk6aHijZq-GJBBB9YpReA", id: "UCelk6aHijZq-GJBBB9YpReA",
name: "BBC News عربي", name: "BBC News عربي",
avatar: [ avatar: [
@ -241,14 +249,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 years ago"), publish_date_txt: Some("11 years ago"),
view_count: 118635723, view_count: Some(118635723),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "n4IhCSMkADc", id: "n4IhCSMkADc",
title: "EARTH FROM SPACE: Like You\'ve Never Seen Before", title: "EARTH FROM SPACE: Like You\'ve Never Seen Before",
length: Some(766), length: Some(766),
@ -264,7 +274,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_sXrcURB-Dh4az_FveeQ0Q", id: "UC_sXrcURB-Dh4az_FveeQ0Q",
name: "DOCUMENTARY TUBE", name: "DOCUMENTARY TUBE",
avatar: [ avatar: [
@ -276,14 +286,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 years ago"), publish_date_txt: Some("7 years ago"),
view_count: 11226061, view_count: Some(11226061),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "bgbH4FAmAA0", id: "bgbH4FAmAA0",
title: "Winter Cab View from two of the most SCENIC RAILWAYS in the WORLD", title: "Winter Cab View from two of the most SCENIC RAILWAYS in the WORLD",
length: None, length: None,
@ -299,7 +311,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCj-Xm8j6WBgKY8OG7s9r2vQ", id: "UCj-Xm8j6WBgKY8OG7s9r2vQ",
name: "RailCowGirl", name: "RailCowGirl",
avatar: [ avatar: [
@ -311,14 +323,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: 108, view_count: Some(108),
is_live: true, is_live: true,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "uD4izuDMUQA", id: "uD4izuDMUQA",
title: "TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)", title: "TIMELAPSE OF THE FUTURE: A Journey to the End of Time (4K)",
length: Some(1761), length: Some(1761),
@ -334,7 +348,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCR9sFzaG9Ia_kXJhfxtFMBA", id: "UCR9sFzaG9Ia_kXJhfxtFMBA",
name: "melodysheep", name: "melodysheep",
avatar: [ avatar: [
@ -346,14 +360,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 85240979, view_count: Some(85240979),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Z6DpPQ8QdLg", id: "Z6DpPQ8QdLg",
title: "Earthrise - Planet Earth Seen From The Moon - Real Time Journey Across The Lunar Surface", title: "Earthrise - Planet Earth Seen From The Moon - Real Time Journey Across The Lunar Surface",
length: Some(241), length: Some(241),
@ -369,7 +385,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCakgsb0w7QB0VHdnCc-OVEA", id: "UCakgsb0w7QB0VHdnCc-OVEA",
name: "Space Videos", name: "Space Videos",
avatar: [ avatar: [
@ -381,14 +397,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 5405668, view_count: Some(5405668),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "1hNF3Wuw0LI", id: "1hNF3Wuw0LI",
title: "New York City Walk 24/7 Chat Stream", title: "New York City Walk 24/7 Chat Stream",
length: None, length: None,
@ -404,7 +422,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCRI_rCIV69l-PmT3oyD64kw", id: "UCRI_rCIV69l-PmT3oyD64kw",
name: "Afraz Explores", name: "Afraz Explores",
avatar: [ avatar: [
@ -416,14 +434,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: 10, view_count: Some(10),
is_live: true, is_live: true,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ZEyAs3NWH4A", id: "ZEyAs3NWH4A",
title: "New: Mars In 4K", title: "New: Mars In 4K",
length: Some(609), length: Some(609),
@ -439,7 +459,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCZvxw99l3xDC6BIHb8nJKGg", id: "UCZvxw99l3xDC6BIHb8nJKGg",
name: "ElderFox Documentaries", name: "ElderFox Documentaries",
avatar: [ avatar: [
@ -451,14 +471,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 61247221, view_count: Some(61247221),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "NF4LQaWJRDg", id: "NF4LQaWJRDg",
title: "Hiroshima: Dropping the Bomb", title: "Hiroshima: Dropping the Bomb",
length: Some(276), length: Some(276),
@ -474,7 +496,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC2ccm1GajfSujz7T18d7cKA", id: "UC2ccm1GajfSujz7T18d7cKA",
name: "BBC Studios", name: "BBC Studios",
avatar: [ avatar: [
@ -486,14 +508,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("15 years ago"), publish_date_txt: Some("15 years ago"),
view_count: 36276575, view_count: Some(36276575),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "qhOe_PxiNo8", id: "qhOe_PxiNo8",
title: "Imagens, Talvez Inéditas do Tsunami no Japão", title: "Imagens, Talvez Inéditas do Tsunami no Japão",
length: Some(1202), length: Some(1202),
@ -509,7 +533,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCyrM5blUZAQoX9UvObdjtig", id: "UCyrM5blUZAQoX9UvObdjtig",
name: "Valdemar Gomes", name: "Valdemar Gomes",
avatar: [ avatar: [
@ -521,14 +545,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 years ago"), publish_date_txt: Some("5 years ago"),
view_count: 12004917, view_count: Some(12004917),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "zf3bDpdhUNc", id: "zf3bDpdhUNc",
title: "Astronauts accidentally lose a shield in space (GoPro 8K)", title: "Astronauts accidentally lose a shield in space (GoPro 8K)",
length: Some(566), length: Some(566),
@ -544,7 +570,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCgP30k64HHZ0OY1QkEgS6Pw", id: "UCgP30k64HHZ0OY1QkEgS6Pw",
name: "Waa Sop", name: "Waa Sop",
avatar: [ avatar: [
@ -556,14 +582,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 22901662, view_count: Some(22901662),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "mJxsj51d-Pk", id: "mJxsj51d-Pk",
title: "Record breaking space jump - free fall faster than speed of sound - Red Bull Stratos.", title: "Record breaking space jump - free fall faster than speed of sound - Red Bull Stratos.",
length: Some(503), length: Some(503),
@ -579,7 +607,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCBuDzfvztEJvNll_w1E9xFw", id: "UCBuDzfvztEJvNll_w1E9xFw",
name: "The Random Theorizer", name: "The Random Theorizer",
avatar: [ avatar: [
@ -591,14 +619,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 42814880, view_count: Some(42814880),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "fr_hXLDLc38", id: "fr_hXLDLc38",
title: "Horizons mission - Soyuz: launch to orbit", title: "Horizons mission - Soyuz: launch to orbit",
length: Some(607), length: Some(607),
@ -614,7 +644,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCIBaDdAbGlFDeS33shmlD0A", id: "UCIBaDdAbGlFDeS33shmlD0A",
name: "European Space Agency, ESA", name: "European Space Agency, ESA",
avatar: [ avatar: [
@ -626,14 +656,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 9592134, view_count: Some(9592134),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Jh-qzwdiAGY", id: "Jh-qzwdiAGY",
title: "The Earth 4K - Incredible 4K / UHD Video of Earth From Space", title: "The Earth 4K - Incredible 4K / UHD Video of Earth From Space",
length: Some(3594), length: Some(3594),
@ -649,7 +681,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCakgsb0w7QB0VHdnCc-OVEA", id: "UCakgsb0w7QB0VHdnCc-OVEA",
name: "Space Videos", name: "Space Videos",
avatar: [ avatar: [
@ -661,14 +693,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 years ago"), publish_date_txt: Some("5 years ago"),
view_count: 4463605, view_count: Some(4463605),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "EPyl1LgNtoQ", id: "EPyl1LgNtoQ",
title: "The View from Space - Earth\'s Countries and Coastlines", title: "The View from Space - Earth\'s Countries and Coastlines",
length: Some(227), length: Some(227),
@ -684,7 +718,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC1znqKFL3jeR0eoA0pHpzvw", id: "UC1znqKFL3jeR0eoA0pHpzvw",
name: "SpaceRip", name: "SpaceRip",
avatar: [ avatar: [
@ -696,14 +730,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("10 years ago"), publish_date_txt: Some("10 years ago"),
view_count: 14094460, view_count: Some(14094460),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "7KXGZAEWzn0", id: "7KXGZAEWzn0",
title: "ORBIT - Journey Around Earth in Real Time // 4K Remastered", title: "ORBIT - Journey Around Earth in Real Time // 4K Remastered",
length: Some(5560), length: Some(5560),
@ -719,7 +755,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC28l88GMXXqZYfY0Ru9h50w", id: "UC28l88GMXXqZYfY0Ru9h50w",
name: "Seán Doran", name: "Seán Doran",
avatar: [ avatar: [
@ -731,14 +767,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 9901163, view_count: Some(9901163),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "KTUa9rG08go", id: "KTUa9rG08go",
title: "NASA Artemis I Mon Rocket Testing and Inspection LIVE From Launch Complex 39B", title: "NASA Artemis I Mon Rocket Testing and Inspection LIVE From Launch Complex 39B",
length: None, length: None,
@ -754,7 +792,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCDyeuRnxf_hxEyH1B7aoDQQ", id: "UCDyeuRnxf_hxEyH1B7aoDQQ",
name: "thebhp", name: "thebhp",
avatar: [ avatar: [
@ -766,27 +804,29 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: 15, view_count: Some(15),
is_live: true, is_live: true,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILODZZTEZPb2c0R03AAQHIAQEYACrgBzJzNkw2d3poQlFyZUJRb0Q4ajRBQ2czQ1Bnb0k3b3VlbjdUTV9yRklDZ1B5UGdBS0RjSS1DZ2lIaU55ejlkLWI2M1VLQV9JLUFBb093ajRMQ0tXNTlNR2pwdkNhb0FFS0FfSS1BQW9Od2o0S0NLLTduYXJ2NXN1bWFRb0Q4ajRBQ2c3Q1Bnc0l2ZV9nLVBfQ3dPUHFBUW9EOGo0QUNnN0NQZ3NJdDRDUW1aS2hpTUdmQVFvRDhqNEFDZzNDUGdvSWpZQ1lnWVg4c1lOdUNnUHlQZ0FLRHNJLUN3aUFvckdHN3RtSW43Z0JDZ1B5UGdBS0RjSS1DZ2k0NmNINDBLZTYwR2NLQV9JLUFBb093ajRMQ0xLaHc5M1d1OUdKMWdFS0FfSS1BQW9Od2o0S0NJQ18ySnEzbHFDbVpBb0Q4ajRBQ2czQ1Bnb0l1SWlsckpyb2dxODBDZ1B5UGdBS0RzSS1Dd2lQN1lqano5X25pYW9CQ2dQeVBnQUtEc0ktQ3dqWG9ZVzc2ZUgyX3MwQkNnUHlQZ0FLRHNJLUN3ajU4ZmZxLVpHYnpwZ0JDZ1B5UGdBS0RjSS1DZ2pfNXEyR3k2djQzMzRLQV9JLUFBb053ajRLQ09hQWlMdncyZXFQSmdvRDhqNEFDZzNDUGdvSWhPMjJ3TXU2cWY0UUNnUHlQZ0FLRHNJLUN3ajluTnVJd016eDB1d0JDZ1B5UGdBS0RjSS1DZ2lLNU5PTjY5N0dtaWtLQV9JLUFBb2FtajhYQ2hWUGZEazRNek0xTXpjMU5ERTJOVGMzT0RnMk1UY0tHNW9fR0FvV1Qzd3hNekF5TXpnek9UY3hPREk0TXpVMU9EUTFNd29ibWo4WUNoWlBmREUxT0RVek5Ua3dPRGczTURVeE1qVTBOemcwQ2dQeVBnQUtBX0ktQUJJWEFBSUVCZ2dLREE0UUVoUVdHQm9jSGlBaUpDWW9MQzBhQkFnQUVBRWFCQWdDRUFNYUJBZ0VFQVVhQkFnR0VBY2FCQWdJRUFrYUJBZ0tFQXNhQkFnTUVBMGFCQWdPRUE4YUJBZ1FFQkVhQkFnU0VCTWFCQWdVRUJVYUJBZ1dFQmNhQkFnWUVCa2FCQWdhRUJzYUJBZ2NFQjBhQkFnZUVCOGFCQWdnRUNFYUJBZ2lFQ01hQkFna0VDVWFCQWdtRUNjYUJBZ29FQ2thQkFnb0VDb2FCQWdvRUNzYUJBZ3NFQ2thQkFnc0VDb2FCQWdzRUNzYUJBZ3RFQ2thQkFndEVDb2FCQWd0RUNzcUZ3QUNCQVlJQ2d3T0VCSVVGaGdhSEI0Z0lpUW1LQ3d0ag93YXRjaC1uZXh0LWZlZWQ%3D"), ctoken: Some("CBQSExILODZZTEZPb2c0R03AAQHIAQEYACrgBzJzNkw2d3poQlFyZUJRb0Q4ajRBQ2czQ1Bnb0k3b3VlbjdUTV9yRklDZ1B5UGdBS0RjSS1DZ2lIaU55ejlkLWI2M1VLQV9JLUFBb093ajRMQ0tXNTlNR2pwdkNhb0FFS0FfSS1BQW9Od2o0S0NLLTduYXJ2NXN1bWFRb0Q4ajRBQ2c3Q1Bnc0l2ZV9nLVBfQ3dPUHFBUW9EOGo0QUNnN0NQZ3NJdDRDUW1aS2hpTUdmQVFvRDhqNEFDZzNDUGdvSWpZQ1lnWVg4c1lOdUNnUHlQZ0FLRHNJLUN3aUFvckdHN3RtSW43Z0JDZ1B5UGdBS0RjSS1DZ2k0NmNINDBLZTYwR2NLQV9JLUFBb093ajRMQ0xLaHc5M1d1OUdKMWdFS0FfSS1BQW9Od2o0S0NJQ18ySnEzbHFDbVpBb0Q4ajRBQ2czQ1Bnb0l1SWlsckpyb2dxODBDZ1B5UGdBS0RzSS1Dd2lQN1lqano5X25pYW9CQ2dQeVBnQUtEc0ktQ3dqWG9ZVzc2ZUgyX3MwQkNnUHlQZ0FLRHNJLUN3ajU4ZmZxLVpHYnpwZ0JDZ1B5UGdBS0RjSS1DZ2pfNXEyR3k2djQzMzRLQV9JLUFBb053ajRLQ09hQWlMdncyZXFQSmdvRDhqNEFDZzNDUGdvSWhPMjJ3TXU2cWY0UUNnUHlQZ0FLRHNJLUN3ajluTnVJd016eDB1d0JDZ1B5UGdBS0RjSS1DZ2lLNU5PTjY5N0dtaWtLQV9JLUFBb2FtajhYQ2hWUGZEazRNek0xTXpjMU5ERTJOVGMzT0RnMk1UY0tHNW9fR0FvV1Qzd3hNekF5TXpnek9UY3hPREk0TXpVMU9EUTFNd29ibWo4WUNoWlBmREUxT0RVek5Ua3dPRGczTURVeE1qVTBOemcwQ2dQeVBnQUtBX0ktQUJJWEFBSUVCZ2dLREE0UUVoUVdHQm9jSGlBaUpDWW9MQzBhQkFnQUVBRWFCQWdDRUFNYUJBZ0VFQVVhQkFnR0VBY2FCQWdJRUFrYUJBZ0tFQXNhQkFnTUVBMGFCQWdPRUE4YUJBZ1FFQkVhQkFnU0VCTWFCQWdVRUJVYUJBZ1dFQmNhQkFnWUVCa2FCQWdhRUJzYUJBZ2NFQjBhQkFnZUVCOGFCQWdnRUNFYUJBZ2lFQ01hQkFna0VDVWFCQWdtRUNjYUJBZ29FQ2thQkFnb0VDb2FCQWdvRUNzYUJBZ3NFQ2thQkFnc0VDb2FCQWdzRUNzYUJBZ3RFQ2thQkFndEVDb2FCQWd0RUNzcUZ3QUNCQVlJQ2d3T0VCSVVGaGdhSEI0Z0lpUW1LQ3d0ag93YXRjaC1uZXh0LWZlZWQ%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(0), count: Some(0),
items: [], items: [],
ctoken: None, ctoken: None,
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(0), count: Some(0),
items: [], items: [],
ctoken: None, ctoken: None,
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -41,7 +41,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "XtV_HGppS6A", id: "XtV_HGppS6A",
title: "Vergiss mein nicht", title: "Vergiss mein nicht",
length: Some(263), length: Some(263),
@ -57,7 +57,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -69,14 +69,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 30966, view_count: Some(30966),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "BcqM8Qshx7U", id: "BcqM8Qshx7U",
title: "Kuliko Jana - Eine neue Zeit", title: "Kuliko Jana - Eine neue Zeit",
length: Some(210), length: Some(210),
@ -92,7 +94,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -104,14 +106,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 15269, view_count: Some(15269),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "IUFUIgZOcow", id: "IUFUIgZOcow",
title: "Silmaril - Schöner als die Sterne", title: "Silmaril - Schöner als die Sterne",
length: Some(205), length: Some(205),
@ -127,7 +131,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -139,14 +143,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 29035, view_count: Some(29035),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "UtP9J88Jzg0", id: "UtP9J88Jzg0",
title: "Ruinen im Sand", title: "Ruinen im Sand",
length: Some(195), length: Some(195),
@ -162,7 +168,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -174,14 +180,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 46009, view_count: Some(46009),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "sg6j-zfUF_A", id: "sg6j-zfUF_A",
title: "Eldamar", title: "Eldamar",
length: Some(223), length: Some(223),
@ -197,7 +205,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -209,14 +217,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 7405, view_count: Some(7405),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "u2XCC1rKxV0", id: "u2XCC1rKxV0",
title: "Faolan", title: "Faolan",
length: Some(256), length: Some(256),
@ -232,7 +242,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -244,14 +254,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 19383, view_count: Some(19383),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "oOBBBl3fywU", id: "oOBBBl3fywU",
title: "Aeria - Vom Wind", title: "Aeria - Vom Wind",
length: Some(260), length: Some(260),
@ -267,7 +279,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -279,14 +291,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 132472, view_count: Some(132472),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "pI0Rancanz0", id: "pI0Rancanz0",
title: "Vergiss mein nicht", title: "Vergiss mein nicht",
length: Some(263), length: Some(263),
@ -302,7 +316,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -314,14 +328,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 367684, view_count: Some(367684),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "DsviLYh1CB0", id: "DsviLYh1CB0",
title: "Eldamar", title: "Eldamar",
length: Some(222), length: Some(222),
@ -337,7 +353,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -349,14 +365,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 195958, view_count: Some(195958),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Ctpe9kafn78", id: "Ctpe9kafn78",
title: "So still mein Herz", title: "So still mein Herz",
length: Some(259), length: Some(259),
@ -372,7 +390,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -384,14 +402,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 37702, view_count: Some(37702),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "y252630WbIk", id: "y252630WbIk",
title: "Oonagh und Santiano: Vergiss mein nicht (mit lyrics)", title: "Oonagh und Santiano: Vergiss mein nicht (mit lyrics)",
length: Some(260), length: Some(260),
@ -407,7 +427,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC8mcGChRS6Zm7pCSYbHeoVw", id: "UC8mcGChRS6Zm7pCSYbHeoVw",
name: "princessZelda", name: "princessZelda",
avatar: [ avatar: [
@ -419,14 +439,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("8 years ago"), publish_date_txt: Some("8 years ago"),
view_count: 103494, view_count: Some(103494),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "YgUZtELr_jw", id: "YgUZtELr_jw",
title: "Aulë und Yavanna", title: "Aulë und Yavanna",
length: Some(216), length: Some(216),
@ -442,7 +464,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -454,14 +476,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 19342, view_count: Some(19342),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ABKSs0aU4C0", id: "ABKSs0aU4C0",
title: "Gäa (Akustik Version)", title: "Gäa (Akustik Version)",
length: Some(235), length: Some(235),
@ -477,7 +501,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -489,14 +513,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 9392, view_count: Some(9392),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "O0I3rJsHikA", id: "O0I3rJsHikA",
title: "Orome (A-Class Remix)", title: "Orome (A-Class Remix)",
length: Some(199), length: Some(199),
@ -512,7 +538,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCVGvnqB-5znqPSbMGlhF4Pw", id: "UCVGvnqB-5znqPSbMGlhF4Pw",
name: "Sentamusic", name: "Sentamusic",
avatar: [ avatar: [
@ -524,27 +550,29 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 22994, view_count: Some(22994),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILWHVNMm9uTUd2VEnAAQHIAQEYACqsBzJzNkw2d3k2QlFxM0JRb0Q4ajRBQ2czQ1Bnb0lvSmVsMDhiajMtcGVDZ1B5UGdBS0o5SS1KQW9pVUV4aGFGSktXRWczV0ZCSWJWZE9TemMwVm5wM1NVWXljWFZYY1dSR1NWZDJjZ29EOGo0QUNpZlNQaVFLSWxCTU5pMTRZV3hIWVZaRmRYQjJlVGxHUVVoZlJYZ3pTRlYxWHpGaFVrRXlialFLQV9JLUFBb1MwajRQQ2cxU1JGaDFUVEp2YmsxSGRsUkpDZ1B5UGdBS0RjSS1DZ2kxajRmWmtKNmo1UVVLQV9JLUFBb053ajRLQ0l6bHViS2doTldnSVFvRDhqNEFDZzNDUGdvSWpaeW4tUHlrXy1sU0NnUHlQZ0FLRHNJLUN3andyOUMtc18tb2g3SUJDZ1B5UGdBS0o5SS1KQW9pVUV3d1dqSlNSVFZsY1dGWlRWRXhiRnBaZGtWalRrOW1UVmx3VFVvelkyTktRd29EOGo0QUNnN0NQZ3NJM1lxcjFyWEI4TEs3QVFvRDhqNEFDZzdDUGdzSWhaYl83dVdna1BDZ0FRb0Q4ajRBQ2c3Q1Bnc0l2YjdxdUtldHhNYWtBUW9EOGo0QUNnM0NQZ29JblpEVXc5akYtT1VPQ2dQeVBnQUtIOUktSEFvYVVrUkZUV1E0VUZwSmRqbERVSE4yZGtWRVltOWZjRlZFTkhjS0FfSS1BQW9Od2o0S0NMLV9fclRrM3BmdENnb0Q4ajRBQ2c3Q1Bnc0lpZG5aNkxmZG5iZkxBUW9EOGo0QUNnM0NQZ29JdlB5dmw4UzJ4b0ppQ2dQeVBnQUtETUktQ1FpdHdOTzB0TmFrQ1FvRDhqNEFDaWZTUGlRS0lsQk1NazR6TjFoVWQxaG5jRlZpYWxSemNXVjFNbEZFZVRCTGIyRnpkMDlZTVZvS0FfSS1BQW9Od2o0S0NNQ1VudGpKOVkyaE94SVVBQUlFQmdnS0RBNFFFaFFXR0JvY0hpQWlKQ1lhQkFnQUVBRWFCQWdDRUFNYUJBZ0VFQVVhQkFnR0VBY2FCQWdJRUFrYUJBZ0tFQXNhQkFnTUVBMGFCQWdPRUE4YUJBZ1FFQkVhQkFnU0VCTWFCQWdVRUJVYUJBZ1dFQmNhQkFnWUVCa2FCQWdhRUJzYUJBZ2NFQjBhQkFnZUVCOGFCQWdnRUNFYUJBZ2lFQ01hQkFna0VDVWFCQWdtRUNjcUZBQUNCQVlJQ2d3T0VCSVVGaGdhSEI0Z0lpUW1qD3dhdGNoLW5leHQtZmVlZA%3D%3D"), ctoken: Some("CBQSExILWHVNMm9uTUd2VEnAAQHIAQEYACqsBzJzNkw2d3k2QlFxM0JRb0Q4ajRBQ2czQ1Bnb0lvSmVsMDhiajMtcGVDZ1B5UGdBS0o5SS1KQW9pVUV4aGFGSktXRWczV0ZCSWJWZE9TemMwVm5wM1NVWXljWFZYY1dSR1NWZDJjZ29EOGo0QUNpZlNQaVFLSWxCTU5pMTRZV3hIWVZaRmRYQjJlVGxHUVVoZlJYZ3pTRlYxWHpGaFVrRXlialFLQV9JLUFBb1MwajRQQ2cxU1JGaDFUVEp2YmsxSGRsUkpDZ1B5UGdBS0RjSS1DZ2kxajRmWmtKNmo1UVVLQV9JLUFBb053ajRLQ0l6bHViS2doTldnSVFvRDhqNEFDZzNDUGdvSWpaeW4tUHlrXy1sU0NnUHlQZ0FLRHNJLUN3andyOUMtc18tb2g3SUJDZ1B5UGdBS0o5SS1KQW9pVUV3d1dqSlNSVFZsY1dGWlRWRXhiRnBaZGtWalRrOW1UVmx3VFVvelkyTktRd29EOGo0QUNnN0NQZ3NJM1lxcjFyWEI4TEs3QVFvRDhqNEFDZzdDUGdzSWhaYl83dVdna1BDZ0FRb0Q4ajRBQ2c3Q1Bnc0l2YjdxdUtldHhNYWtBUW9EOGo0QUNnM0NQZ29JblpEVXc5akYtT1VPQ2dQeVBnQUtIOUktSEFvYVVrUkZUV1E0VUZwSmRqbERVSE4yZGtWRVltOWZjRlZFTkhjS0FfSS1BQW9Od2o0S0NMLV9fclRrM3BmdENnb0Q4ajRBQ2c3Q1Bnc0lpZG5aNkxmZG5iZkxBUW9EOGo0QUNnM0NQZ29JdlB5dmw4UzJ4b0ppQ2dQeVBnQUtETUktQ1FpdHdOTzB0TmFrQ1FvRDhqNEFDaWZTUGlRS0lsQk1NazR6TjFoVWQxaG5jRlZpYWxSemNXVjFNbEZFZVRCTGIyRnpkMDlZTVZvS0FfSS1BQW9Od2o0S0NNQ1VudGpKOVkyaE94SVVBQUlFQmdnS0RBNFFFaFFXR0JvY0hpQWlKQ1lhQkFnQUVBRWFCQWdDRUFNYUJBZ0VFQVVhQkFnR0VBY2FCQWdJRUFrYUJBZ0tFQXNhQkFnTUVBMGFCQWdPRUE4YUJBZ1FFQkVhQkFnU0VCTWFCQWdVRUJVYUJBZ1dFQmNhQkFnWUVCa2FCQWdhRUJzYUJBZ2NFQjBhQkFnZUVCOGFCQWdnRUNFYUJBZ2lFQ01hQkFna0VDVWFCQWdtRUNjcUZBQUNCQVlJQ2d3T0VCSVVGaGdhSEI0Z0lpUW1qD3dhdGNoLW5leHQtZmVlZA%3D%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(0), count: Some(0),
items: [], items: [],
ctoken: None, ctoken: None,
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(0), count: Some(0),
items: [], items: [],
ctoken: None, ctoken: None,
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -104,7 +104,7 @@ VideoDetails(
recommended: Paginator( recommended: Paginator(
count: None, count: None,
items: [ items: [
RecommendedVideo( VideoItem(
id: "4TWR90KJl84", id: "4TWR90KJl84",
title: "aespa 에스파 \'Next Level\' MV", title: "aespa 에스파 \'Next Level\' MV",
length: Some(236), length: Some(236),
@ -120,7 +120,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -132,14 +132,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 245412217, view_count: Some(245412217),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "WPdWvnAAurg", id: "WPdWvnAAurg",
title: "aespa 에스파 \'Savage\' MV", title: "aespa 에스파 \'Savage\' MV",
length: Some(259), length: Some(259),
@ -155,7 +157,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -167,14 +169,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 months ago"), publish_date_txt: Some("11 months ago"),
view_count: 215292736, view_count: Some(215292736),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "NoYKBAajoyo", id: "NoYKBAajoyo",
title: "EVERGLOW (에버글로우) - DUN DUN MV", title: "EVERGLOW (에버글로우) - DUN DUN MV",
length: Some(209), length: Some(209),
@ -190,7 +194,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC_pwIXKXNm5KGhdEVzmY60A", id: "UC_pwIXKXNm5KGhdEVzmY60A",
name: "Stone Music Entertainment", name: "Stone Music Entertainment",
avatar: [ avatar: [
@ -202,14 +206,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 264670229, view_count: Some(264670229),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "KhTeiaCezwM", id: "KhTeiaCezwM",
title: "[MV] MAMAMOO (마마무) - HIP", title: "[MV] MAMAMOO (마마무) - HIP",
length: Some(211), length: Some(211),
@ -225,7 +231,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCuhAUMLzJxlP1W7mEk0_6lA", id: "UCuhAUMLzJxlP1W7mEk0_6lA",
name: "MAMAMOO", name: "MAMAMOO",
avatar: [ avatar: [
@ -237,14 +243,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 354281319, view_count: Some(354281319),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Jh4QFaPmdss", id: "Jh4QFaPmdss",
title: "(G)I-DLE - \'TOMBOY\' Official Music Video", title: "(G)I-DLE - \'TOMBOY\' Official Music Video",
length: Some(198), length: Some(198),
@ -260,7 +268,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCritGVo7pLJLUS8wEu32vow", id: "UCritGVo7pLJLUS8wEu32vow",
name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)", name: "(G)I-DLE (여자)아이들 (Official YouTube Channel)",
avatar: [ avatar: [
@ -272,14 +280,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: 167648677, view_count: Some(167648677),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "CM4CkVFmTds", id: "CM4CkVFmTds",
title: "TWICE \"I CAN\'T STOP ME\" M/V", title: "TWICE \"I CAN\'T STOP ME\" M/V",
length: Some(221), length: Some(221),
@ -295,7 +305,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -307,14 +317,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 455437333, view_count: Some(455437333),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "uR8Mrt1IpXg", id: "uR8Mrt1IpXg",
title: "Red Velvet 레드벨벳 \'Psycho\' MV", title: "Red Velvet 레드벨벳 \'Psycho\' MV",
length: Some(216), length: Some(216),
@ -330,7 +342,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -342,14 +354,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 344730852, view_count: Some(344730852),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "QslJYDX3o8s", id: "QslJYDX3o8s",
title: "Red Velvet 레드벨벳 \'러시안 룰렛 (Russian Roulette)\' MV", title: "Red Velvet 레드벨벳 \'러시안 룰렛 (Russian Roulette)\' MV",
length: Some(212), length: Some(212),
@ -365,7 +379,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -377,14 +391,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 238321583, view_count: Some(238321583),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "EaswWiwMVs8", id: "EaswWiwMVs8",
title: "Stray Kids \"소리꾼(Thunderous)\" M/V", title: "Stray Kids \"소리꾼(Thunderous)\" M/V",
length: Some(199), length: Some(199),
@ -400,7 +416,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -412,14 +428,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 240527435, view_count: Some(240527435),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "pNfTK39k55U", id: "pNfTK39k55U",
title: "ITZY \"달라달라(DALLA DALLA)\" M/V @ITZY", title: "ITZY \"달라달라(DALLA DALLA)\" M/V @ITZY",
length: Some(227), length: Some(227),
@ -435,7 +453,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCaO6TYtlC8U5ttz62hTrZgg", id: "UCaO6TYtlC8U5ttz62hTrZgg",
name: "JYP Entertainment", name: "JYP Entertainment",
avatar: [ avatar: [
@ -447,14 +465,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: 306144594, view_count: Some(306144594),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "dYRITmpFbJ4", id: "dYRITmpFbJ4",
title: "aespa 에스파 \'Girls\' MV", title: "aespa 에스파 \'Girls\' MV",
length: Some(269), length: Some(269),
@ -470,7 +490,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -482,14 +502,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: 100128895, view_count: Some(100128895),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "ioNng23DkIM", id: "ioNng23DkIM",
title: "BLACKPINK - \'How You Like That\' M/V", title: "BLACKPINK - \'How You Like That\' M/V",
length: Some(184), length: Some(184),
@ -505,7 +527,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -517,14 +539,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 1146631077, view_count: Some(1146631077),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Ujb-gvqsoi0", id: "Ujb-gvqsoi0",
title: "Red Velvet - IRENE & SEULGI \'Monster\' MV", title: "Red Velvet - IRENE & SEULGI \'Monster\' MV",
length: Some(182), length: Some(182),
@ -540,7 +564,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -552,14 +576,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: 126406160, view_count: Some(126406160),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "bwmSjveL3Lc", id: "bwmSjveL3Lc",
title: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V", title: "BLACKPINK - \'붐바야 (BOOMBAYAH)\' M/V",
length: Some(244), length: Some(244),
@ -575,7 +601,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCOmHUn--16B90oW2L6FRR3A", id: "UCOmHUn--16B90oW2L6FRR3A",
name: "BLACKPINK", name: "BLACKPINK",
avatar: [ avatar: [
@ -587,14 +613,16 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 years ago"), publish_date_txt: Some("6 years ago"),
view_count: 1476093662, view_count: Some(1476093662),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "6uJf2IT2Zh8", id: "6uJf2IT2Zh8",
title: "Red Velvet 레드벨벳 \'피카부 (Peek-A-Boo)\' MV", title: "Red Velvet 레드벨벳 \'피카부 (Peek-A-Boo)\' MV",
length: Some(230), length: Some(230),
@ -610,7 +638,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCEf_Bc-KVd7onSeifS3py9g", id: "UCEf_Bc-KVd7onSeifS3py9g",
name: "SMTOWN", name: "SMTOWN",
avatar: [ avatar: [
@ -622,14 +650,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 years ago"), publish_date_txt: Some("4 years ago"),
view_count: 228968545, view_count: Some(228968545),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "Y8JFxS1HlDo", id: "Y8JFxS1HlDo",
title: "IVE 아이브 \'LOVE DIVE\' MV", title: "IVE 아이브 \'LOVE DIVE\' MV",
length: Some(179), length: Some(179),
@ -645,7 +675,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCYDmx2Sfpnaxg488yBpZIGg", id: "UCYDmx2Sfpnaxg488yBpZIGg",
name: "starshipTV", name: "starshipTV",
avatar: [ avatar: [
@ -657,14 +687,16 @@ VideoDetails(
], ],
verification: verified, verification: verified,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: 152292435, view_count: Some(152292435),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "2FzSv66c7TQ", id: "2FzSv66c7TQ",
title: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음", title: "A E S P A (에스파) ALL SONGS PLAYLIST 2022 | 에스파 노래 모음",
length: Some(3441), length: Some(3441),
@ -680,7 +712,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UCK8S6QMrTk1G8TYQwIyDo-w", id: "UCK8S6QMrTk1G8TYQwIyDo-w",
name: "𝙇𝙌 𝙆𝙋𝙊𝙋", name: "𝙇𝙌 𝙆𝙋𝙊𝙋",
avatar: [ avatar: [
@ -692,14 +724,16 @@ VideoDetails(
], ],
verification: none, verification: none,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: 504562, view_count: Some(504562),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
RecommendedVideo( VideoItem(
id: "NU611fxGyPU", id: "NU611fxGyPU",
title: "aespa 에스파 \'Black Mamba\' Dance Practice", title: "aespa 에스파 \'Black Mamba\' Dance Practice",
length: Some(175), length: Some(175),
@ -715,7 +749,7 @@ VideoDetails(
height: 188, height: 188,
), ),
], ],
channel: ChannelTag( channel: Some(ChannelTag(
id: "UC9GtSLeksfK4yuJ_g1lgQbg", id: "UC9GtSLeksfK4yuJ_g1lgQbg",
name: "aespa", name: "aespa",
avatar: [ avatar: [
@ -727,27 +761,29 @@ VideoDetails(
], ],
verification: artist, verification: artist,
subscriber_count: None, subscriber_count: None,
), )),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: 34445393, view_count: Some(34445393),
is_live: false, is_live: false,
is_short: false, is_short: false,
is_upcoming: false,
short_description: None,
), ),
], ],
ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACq7BjJzNkw2d3psQkFyaUJBb0Q4ajRBQ2c3Q1Bnc0l6cS1tbFBTLTVKcmhBUW9EOGo0QUNoTFNQZzhLRFZKRVdtVmxjbkp1ZFV4cE5VVUtBX0ktQUFvdzBqNHRDaXRTUkVOTVFVczFkWGxmYXpJM2RYVXRSWFJSWDJJMVZUSnlNalpFVGtSYVQyMU9jVWRrWTJOVlNVZFJDZ1B5UGdBS0RjSS1DZ2k0OVlLQTU5ZlYtMWdLQV9JLUFBb053ajRLQ0tyR2pyWEF3SUxETmdvRDhqNEFDZzNDUGdvSWc1NzdoSnJSdDRvcUNnUHlQZ0FLRGNJLUNnakw3Wm1mMm9LRWp5WUtBX0ktQUFvTndqNEtDTnVibVl1VjBvRG5DQW9EOGo0QUNnN0NQZ3NJLU1xaTZ1MlZ3NC01QVFvRDhqNEFDZzNDUGdvSXk4ZmVyNE9zMHVSQ0NnUHlQZ0FLRGNJLUNnalByYkhnb292TTFSRUtBX0ktQUFvT3dqNExDSlhQa191MzVmVHJwQUVLQV9JLUFBb053ajRLQ0o3WmxkTG1pWkxDZFFvRDhqNEFDZzdDUGdzSWc2R083cmJ3MmNHS0FRb0Q4ajRBQ2czQ1Bnb0lyY1N5MWFfUXY1dFNDZ1B5UGdBS0RjSS1DZ2kzdWEtODc5SGtoRzhLQV9JLUFBb093ajRMQ0pfTTJhZUktNWZ4NmdFS0FfSS1BQW9Od2o0S0NMcW9udXJTdUpIaFl3b0Q4ajRBQ2c3Q1Bnc0l0TnJ6OVByWHRLN1lBUW9EOGo0QUNnM0NQZ29JOVpHYjR0LTZyYWMxRWhRQUFnUUdDQW9NRGhBU0ZCWVlHaHdlSUNJa0pob0VDQUFRQVJvRUNBSVFBeG9FQ0FRUUJSb0VDQVlRQnhvRUNBZ1FDUm9FQ0FvUUN4b0VDQXdRRFJvRUNBNFFEeG9FQ0JBUUVSb0VDQklRRXhvRUNCUVFGUm9FQ0JZUUZ4b0VDQmdRR1JvRUNCb1FHeG9FQ0J3UUhSb0VDQjRRSHhvRUNDQVFJUm9FQ0NJUUl4b0VDQ1FRSlJvRUNDWVFKeW9VQUFJRUJnZ0tEQTRRRWhRV0dCb2NIaUFpSkNZag93YXRjaC1uZXh0LWZlZWQ%3D"), ctoken: Some("CBQSExILWmVlcnJudUxpNUXAAQHIAQEYACq7BjJzNkw2d3psQkFyaUJBb0Q4ajRBQ2c3Q1Bnc0l6cS1tbFBTLTVKcmhBUW9EOGo0QUNoTFNQZzhLRFZKRVdtVmxjbkp1ZFV4cE5VVUtBX0ktQUFvdzBqNHRDaXRTUkVOTVFVczFkWGxmYXpJM2RYVXRSWFJSWDJJMVZUSnlNalpFVGtSYVQyMU9jVWRrWTJOVlNVZFJDZ1B5UGdBS0RjSS1DZ2k0OVlLQTU5ZlYtMWdLQV9JLUFBb053ajRLQ0tyR2pyWEF3SUxETmdvRDhqNEFDZzNDUGdvSWc1NzdoSnJSdDRvcUNnUHlQZ0FLRGNJLUNnakw3Wm1mMm9LRWp5WUtBX0ktQUFvTndqNEtDTnVibVl1VjBvRG5DQW9EOGo0QUNnN0NQZ3NJLU1xaTZ1MlZ3NC01QVFvRDhqNEFDZzNDUGdvSXk4ZmVyNE9zMHVSQ0NnUHlQZ0FLRGNJLUNnalByYkhnb292TTFSRUtBX0ktQUFvT3dqNExDSlhQa191MzVmVHJwQUVLQV9JLUFBb053ajRLQ0o3WmxkTG1pWkxDZFFvRDhqNEFDZzdDUGdzSWc2R083cmJ3MmNHS0FRb0Q4ajRBQ2czQ1Bnb0lyY1N5MWFfUXY1dFNDZ1B5UGdBS0RjSS1DZ2kzdWEtODc5SGtoRzhLQV9JLUFBb093ajRMQ0pfTTJhZUktNWZ4NmdFS0FfSS1BQW9Od2o0S0NMcW9udXJTdUpIaFl3b0Q4ajRBQ2c3Q1Bnc0l0TnJ6OVByWHRLN1lBUW9EOGo0QUNnM0NQZ29JOVpHYjR0LTZyYWMxRWhRQUFnUUdDQW9NRGhBU0ZCWVlHaHdlSUNJa0pob0VDQUFRQVJvRUNBSVFBeG9FQ0FRUUJSb0VDQVlRQnhvRUNBZ1FDUm9FQ0FvUUN4b0VDQXdRRFJvRUNBNFFEeG9FQ0JBUUVSb0VDQklRRXhvRUNCUVFGUm9FQ0JZUUZ4b0VDQmdRR1JvRUNCb1FHeG9FQ0J3UUhSb0VDQjRRSHhvRUNDQVFJUm9FQ0NJUUl4b0VDQ1FRSlJvRUNDWVFKeW9VQUFJRUJnZ0tEQTRRRWhRV0dCb2NIaUFpSkNZag93YXRjaC1uZXh0LWZlZWQ%3D"),
endpoint: browse, endpoint: next,
), ),
top_comments: Paginator( top_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
endpoint: browse, endpoint: next,
), ),
latest_comments: Paginator( latest_comments: Paginator(
count: Some(705000), count: Some(705000),
items: [], items: [],
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"), ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
endpoint: browse, endpoint: next,
), ),
) )

View file

@ -2,7 +2,7 @@ use serde::Serialize;
use crate::{ use crate::{
error::{Error, ExtractionError}, error::{Error, ExtractionError},
model::{ChannelTag, Chapter, Comment, Paginator, RecommendedVideo, VideoDetails}, model::{ChannelTag, Chapter, Comment, Paginator, VideoDetails, VideoItem},
param::Language, param::Language,
serializer::MapResult, serializer::MapResult,
timeago, timeago,
@ -10,7 +10,7 @@ use crate::{
}; };
use super::{ use super::{
response::{self, IconType, TryFromWLang}, response::{self, IconType},
ClientType, MapResponse, QContinuation, RustyPipeQuery, YTContext, ClientType, MapResponse, QContinuation, RustyPipeQuery, YTContext,
}; };
@ -45,26 +45,6 @@ impl RustyPipeQuery {
.await .await
} }
pub async fn video_recommendations(
self,
ctoken: &str,
) -> Result<Paginator<RecommendedVideo>, Error> {
let context = self.get_context(ClientType::Desktop, true).await;
let request_body = QContinuation {
context,
continuation: ctoken,
};
self.execute_request::<response::VideoRecommendations, _, _>(
ClientType::Desktop,
"video_recommendations",
ctoken,
"next",
&request_body,
)
.await
}
pub async fn video_comments(self, ctoken: &str) -> Result<Paginator<Comment>, Error> { pub async fn video_comments(self, ctoken: &str) -> Result<Paginator<Comment>, Error> {
let context = self.get_context(ClientType::Desktop, true).await; let context = self.get_context(ClientType::Desktop, true).await;
let request_body = QContinuation { let request_body = QContinuation {
@ -329,32 +309,24 @@ impl MapResponse<VideoDetails> for response::VideoDetails {
is_ccommons, is_ccommons,
chapters, chapters,
recommended, recommended,
top_comments: Paginator::new(comment_count, Vec::new(), comment_ctoken), top_comments: Paginator::new_with_endpoint(
latest_comments: Paginator::new(comment_count, Vec::new(), latest_comments_ctoken), comment_count,
Vec::new(),
comment_ctoken,
crate::model::ContinuationEndpoint::Next,
),
latest_comments: Paginator::new_with_endpoint(
comment_count,
Vec::new(),
latest_comments_ctoken,
crate::model::ContinuationEndpoint::Next,
),
}, },
warnings, warnings,
}) })
} }
} }
impl MapResponse<Paginator<RecommendedVideo>> for response::VideoRecommendations {
fn map_response(
self,
_id: &str,
lang: Language,
_deobf: Option<&crate::deobfuscate::Deobfuscator>,
) -> Result<MapResult<Paginator<RecommendedVideo>>, ExtractionError> {
let mut endpoints = self.on_response_received_endpoints;
let cont = endpoints.try_swap_remove(0).ok_or(ExtractionError::Retry)?;
Ok(map_recommendations(
cont.append_continuation_items_action.continuation_items,
None,
lang,
))
}
}
impl MapResponse<Paginator<Comment>> for response::VideoComments { impl MapResponse<Paginator<Comment>> for response::VideoComments {
fn map_response( fn map_response(
self, self,
@ -419,47 +391,27 @@ impl MapResponse<Paginator<Comment>> for response::VideoComments {
} }
fn map_recommendations( fn map_recommendations(
r: MapResult<Vec<response::VideoListItem>>, r: MapResult<Vec<response::YouTubeListItem>>,
continuations: Option<Vec<response::MusicContinuation>>, continuations: Option<Vec<response::MusicContinuation>>,
lang: Language, lang: Language,
) -> MapResult<Paginator<RecommendedVideo>> { ) -> MapResult<Paginator<VideoItem>> {
let mut warnings = r.warnings; let mut mapper = response::YouTubeListMapper::<VideoItem>::new(lang);
let mut ctoken = None; mapper.map_response(r);
let mut items = Vec::new();
r.c.into_iter().for_each(|item| match item {
response::VideoListItem::CompactVideoRenderer(video) => {
match RecommendedVideo::from_w_lang(video, lang) {
Ok(video) => items.push(video),
Err(e) => warnings.push(e.to_string()),
}
}
response::VideoListItem::ItemSectionRenderer { contents } => {
let mut x = map_recommendations(contents, None, lang);
items.append(&mut x.c.items);
warnings.append(&mut x.warnings);
if let Some(ct) = x.c.ctoken {
ctoken = Some(ct)
}
}
response::VideoListItem::ContinuationItemRenderer {
continuation_endpoint,
} => {
ctoken = Some(continuation_endpoint.continuation_command.token);
}
_ => {}
});
if let Some(continuations) = continuations { if let Some(continuations) = continuations {
continuations.into_iter().for_each(|c| { continuations.into_iter().for_each(|c| {
ctoken = Some(c.next_continuation_data.continuation); mapper.ctoken = Some(c.next_continuation_data.continuation);
}) })
}; };
MapResult { MapResult {
c: Paginator::new(None, items, ctoken), c: Paginator::new_with_endpoint(
warnings, None,
mapper.items,
mapper.ctoken,
crate::model::ContinuationEndpoint::Next,
),
warnings: mapper.warnings,
} }
} }
@ -600,42 +552,6 @@ mod tests {
)) ))
} }
#[test]
fn t_map_recommendations() {
let json_path = Path::new("testfiles/video_details/recommendations.json");
let json_file = File::open(json_path).unwrap();
let recommendations: response::VideoRecommendations =
serde_json::from_reader(BufReader::new(json_file)).unwrap();
let map_res = recommendations
.map_response("", Language::En, None)
.unwrap();
assert!(
map_res.warnings.is_empty(),
"deserialization/mapping warnings: {:?}",
map_res.warnings
);
insta::assert_ron_snapshot!("map_recommendations", map_res.c, {
".items[].publish_date" => "[date]",
});
}
#[test]
fn map_recommendations_empty() {
let filename = format!("testfiles/video_details/recommendations_empty.json");
let json_path = Path::new(&filename);
let json_file = File::open(json_path).unwrap();
let recommendations: response::VideoRecommendations =
serde_json::from_reader(BufReader::new(json_file)).unwrap();
let err = recommendations
.map_response("", Language::En, None)
.unwrap_err();
assert!(matches!(err, crate::error::ExtractionError::Retry));
}
#[rstest] #[rstest]
#[case::top("top")] #[case::top("top")]
#[case::latest("latest")] #[case::latest("latest")]

View file

@ -531,7 +531,7 @@ pub struct VideoDetails {
/// Recommended videos /// Recommended videos
/// ///
/// Note: Recommendations are not available for age-restricted videos /// Note: Recommendations are not available for age-restricted videos
pub recommended: Paginator<RecommendedVideo>, pub recommended: Paginator<VideoItem>,
/// Paginator to fetch comments (most liked first) /// Paginator to fetch comments (most liked first)
/// ///
/// Is initially empty. /// Is initially empty.