From 3599acafef1a21fa6f8dea97902eb4a3fb048c14 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Sun, 18 Aug 2024 00:43:02 +0200 Subject: [PATCH] feat!: remove startpage --- codegen/src/download_testfiles.rs | 25 - src/client/pagination.rs | 1 - src/client/response/mod.rs | 1 - src/client/response/trends.rs | 9 +- ...ent__pagination__tests__map_startpage.snap | 884 ------------------ ..._client__trends__tests__map_startpage.snap | 784 ---------------- src/client/trends.rs | 103 +- tests/youtube.rs | 12 - 8 files changed, 6 insertions(+), 1813 deletions(-) delete mode 100644 src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap delete mode 100644 src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index d5fd42e..1a580d2 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -38,8 +38,6 @@ pub async fn download_testfiles() { search_cont().await; search_playlists().await; search_empty().await; - startpage().await; - startpage_cont().await; trending().await; music_playlist().await; @@ -448,29 +446,6 @@ async fn search_empty() { .unwrap(); } -async fn startpage() { - let json_path = path!(*TESTFILES_DIR / "trends" / "startpage.json"); - if json_path.exists() { - return; - } - - let rp = rp_testfile(&json_path); - rp.query().startpage().await.unwrap(); -} - -async fn startpage_cont() { - let json_path = path!(*TESTFILES_DIR / "trends" / "startpage_cont.json"); - if json_path.exists() { - return; - } - - let rp = RustyPipe::new(); - let startpage = rp.query().startpage().await.unwrap(); - - let rp = rp_testfile(&json_path); - startpage.next(rp.query()).await.unwrap(); -} - async fn trending() { let json_path = path!(*TESTFILES_DIR / "trends" / "trending_videos.json"); if json_path.exists() { diff --git a/src/client/pagination.rs b/src/client/pagination.rs index 1251574..e8f53dc 100644 --- a/src/client/pagination.rs +++ b/src/client/pagination.rs @@ -355,7 +355,6 @@ mod tests { #[rstest] #[case::search("search", path!("search" / "cont.json"))] - #[case::startpage("startpage", path!("trends" / "startpage_cont.json"))] #[case::recommendations("recommendations", path!("video_details" / "recommendations.json"))] fn map_continuation_items(#[case] name: &str, #[case] path: PathBuf) { let json_path = path!(*TESTFILES / path); diff --git a/src/client/response/mod.rs b/src/client/response/mod.rs index 85392cd..e8b7b52 100644 --- a/src/client/response/mod.rs +++ b/src/client/response/mod.rs @@ -34,7 +34,6 @@ pub(crate) use player::Player; pub(crate) use playlist::Playlist; pub(crate) use search::Search; pub(crate) use search::SearchSuggestion; -pub(crate) use trends::Startpage; pub(crate) use trends::Trending; pub(crate) use url_endpoint::ResolvedUrl; pub(crate) use video_details::VideoComments; diff --git a/src/client/response/trends.rs b/src/client/response/trends.rs index f35472d..07f4b9a 100644 --- a/src/client/response/trends.rs +++ b/src/client/response/trends.rs @@ -1,13 +1,6 @@ use serde::Deserialize; -use super::{video_item::YouTubeListRendererWrap, ResponseContext, Tab, TwoColumnBrowseResults}; - -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub(crate) struct Startpage { - pub contents: Contents, - pub response_context: ResponseContext, -} +use super::{video_item::YouTubeListRendererWrap, Tab, TwoColumnBrowseResults}; #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap deleted file mode 100644 index 171c57f..0000000 --- a/src/client/snapshots/rustypipe__client__pagination__tests__map_startpage.snap +++ /dev/null @@ -1,884 +0,0 @@ ---- -source: src/client/pagination.rs -expression: map_res.c ---- -Paginator( - count: None, - items: [ - Video(VideoItem( - id: "mRmlXh7Hams", - name: "Extra 3 vom 12.10.2022 im NDR | extra 3 | NDR", - duration: Some(1839), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/mRmlXh7Hams/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbO4lI0dDo_r85A1fi9XQS0rNiOQ", - width: 480, - height: 270, - ), - ], - channel: Some(ChannelTag( - id: "UCjhkuC_Pi85wGjnB0I1ydxw", - name: "extra 3", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/N2TrlnZnU3cYFrRcXmQhQ77IriCxoEl-XTapCJQ9UkEHEkb0gMYVASjewV5Rg1P0HPUOebRoYw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 days ago"), - view_count: Some(585257), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Niedersachsen nach der Wahl: Schuld ist immer die Ampel | Die Grünen: Partei der erneuerbaren Prinzipien | Verhütung? Ist Frauensache! | Youtube: Handwerk mit goldenem Boden - Christian Ehring..."), - )), - Video(VideoItem( - id: "LsXC5r64Pvc", - name: "Most Rarest Plays In Baseball History", - duration: Some(1975), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/LsXC5r64Pvc/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB2KXmgKxrJVUy3Naqi_R-R2X92FA", - width: 480, - height: 270, - ), - ], - channel: Some(ChannelTag( - id: "UCRfKJZ7LHueFudiDgAJDr9Q", - name: "Top All Sports", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_dYWlP21FumM8m8ZxkKiTNaF9E68a2fnFnBo_q=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("3 weeks ago"), - view_count: Some(985521), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("#baseball #mlb #mlbb"), - )), - Video(VideoItem( - id: "dwPmd1GqQHE", - name: "90S RAP & HIPHOP MIX - Notorious B I G , Dr Dre, 50 Cent, Snoop Dogg, 2Pac, DMX, Lil Jon and more", - duration: Some(5457), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/dwPmd1GqQHE/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAAyGcLGzFkfdEmqqohpxZsGOM9Kw", - width: 480, - height: 270, - ), - ], - channel: Some(ChannelTag( - id: "UCKICAAGtBLJJ5zRdIxn_B4g", - name: "#Hip Hop 2022", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/fD5u3Lvkxe7oD0J3VlZ_Ih9BWtxT10wc68XWzSbVt02L88J2QrqO4FaK2xrsOoejD1GpBE7VAaA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("5 months ago"), - view_count: Some(1654055), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: None, - )), - Video(VideoItem( - id: "qxI-Ob8lpLE", - name: "Schlatt\'s Chips Tier List", - duration: Some(1071), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/qxI-Ob8lpLE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBtEO5eB17tODb5Ek9GRoQwwVGtvA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/qxI-Ob8lpLE/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAwDt0sa98qoI5O8u0kHJY7FbTrZg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC2mP7il3YV7TxM_3m6U0bwA", - name: "jschlattLIVE", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/Rr0aOvzRYLCyIDtIhIgkAYdQeagRlGDPzRuWoLrwGakM4VdnHPZHeSfUbiV-pJKmFbJ8LL9r5g=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 year ago"), - view_count: Some(9029628), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Schlatt ranks every chip ever made.\nCREATE YOUR OWN TIER LIST: https://tiermaker.com/create/chips-for-big-guy-1146620\n\nSubscribe to me on Twitch:\nhttps://twitch.tv/jschlatt\n\nFollow me on Twitter:..."), - )), - Video(VideoItem( - id: "qmrzTUmZ4UU", - name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", - duration: Some(2043), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBYk7w0qGeW4kZchFr-tbydELUChQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC_EZd3lsmxudu3IQzpTzOgw", - name: "Held der Steine Inh. Thomas Panke", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8g9hFxZ2HD4P9pDsUxoAvkHwbZoTVNr3yw12i8YA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("6 days ago"), - view_count: Some(600516), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Star Wars - erschienen 2021 - 6749 Teile\n\nDieses Set bei Amazon*:\nhttps://amzn.to/3yu9dHX\n\nErwähnt im Video*:\nTassen https://bit.ly/HdSBausteinecke\nBig Boy https://bit.ly/BBLokBigBoy\nBurg..."), - )), - Video(VideoItem( - id: "4q4vpQCIZ6w", - name: "🌉 Manhattan Jazz 💖 l Relaxing Jazz Piano Music l Background Music", - duration: Some(23229), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/4q4vpQCIZ6w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4DKjgt5VJBRX2pH_KzI4Ru9AMaQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/4q4vpQCIZ6w/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDMm9yeUF-9LH2rhU7jaQ6td05cMg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCBnMxlW70f0SB4ZTJx124lw", - name: "몽키비지엠 MONKEYBGM", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/x8_XLvrLdd-Cs6z7Cmob2eZmqvbzmYdOdf6b7jLMry1z1YhdExnuqEhwRrYveu4X2airLfbv=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("6 months ago"), - view_count: Some(2343407), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("- Please Subscribe!\n\n🔺Disney OST Collection part 1 \n ➡\u{fe0f} https://youtu.be/lrzKFu85nhE\n\n🔺Disney OST Collection part 2 \n ➡\u{fe0f} https://youtu.be/EtE09lowIbk\n\n🔺Studio Ghibli..."), - )), - Video(VideoItem( - id: "Z_k31kqZxaE", - name: "1 in 1,000,000 NBA Moments", - duration: Some(567), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Z_k31kqZxaE/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCovxnIKW7TCP3XBcG4x-Acw10OBA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Z_k31kqZxaE/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBa52Ie0cfnzg44jnkfTGzrCsVfOw", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCpyoYVlp67N16Lg1_N4VnVw", - name: "dime", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/HwpHaCaatHTI3N1imp5ZszL8_raSsxBq60UHScSpXC6e6VySeOlZ8Y3msYgum4vzCH5jmCxLvEU=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 month ago"), - view_count: Some(4334298), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("• Instagram - https://instagram.com/dime_nba\n• TikTok - https://tiktok.com/@dime_nba\n\ndime is a Swedish brand, founded in 2022. We produce some of the most entertaining NBA content on YouTube..."), - )), - Video(VideoItem( - id: "zE-a5eqvlv8", - name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAbIAO-SIuWTC9f2AKu6Yp9nB0BwQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDHdbRp6yOt4qkQk31BoFv6keTBYQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCX-USfenzQlhrEJR1zD5IYw", - name: "Deep Mood.", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/8WO05hff9bGjmlyPFo_PJRMIfHEoUvN_KbTcWRVX2yqeUO3fLgkz0K4MA6W95s3_NKdNUAwjow=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(889), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("#Summermix #DeepHouse #DeepHouseSummerMix\nDua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me\n\n🎵 All songs in this spotify playlist: https://spoti.fi/2TJ4Dyj\nSubmit..."), - )), - Video(VideoItem( - id: "gNlOk0LXi5M", - name: "Soll ich dir 1g GOLD schenken? oder JEMAND anderen DOPPELT?", - duration: Some(704), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/gNlOk0LXi5M/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAy3JbiDcqUTwF6NS69UnX715q90w", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/gNlOk0LXi5M/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDICPl-Jsul5nnhrac2s01gueUCDA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCqcWNPTUVATZt0Dlr2jV0Wg", - name: "Mois", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/uHDIV2MwZnJRX8guX2KfFr4-gdxXK5x9nH0tz456hcBn0DH7LurNQbkAPjP5tSKg1Tqu07y9nKw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("8 days ago"), - view_count: Some(463834), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Je mehr Menschen mich abonnieren desto mehr Menschen werde ich glücklich machen \n\n24 std ab, viel Glück \n\nhttps://I-Clip.com/?sPartner=Mois"), - )), - Video(VideoItem( - id: "dbMvZjs8Yc8", - name: "Brad Pitt- Die Revanche eines Sexsymbols | Doku HD | ARTE", - duration: Some(3137), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/dbMvZjs8Yc8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB6HnYSCQFmEQ1V5qlFf5fblOpv-g", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/dbMvZjs8Yc8/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD-AoMr1H_6EvzuWvg2whMDmbtY4A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCsygZtQQSplGF6JA3XWvsdg", - name: "Irgendwas mit ARTE und Kultur", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu9_FXs7hsEndpcy9C4D_ZsM1xZzbLLThDQIL4-Dxg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("5 days ago"), - view_count: Some(293878), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Vom „People“-Magazin wurde er mehrfach zum „Sexiest Man Alive“ gekrönt. Aber sein Aussehen ist nicht alles: In 30 Jahren Karriere drehte Brad Pitt eine Vielzahl herausragender Filme...."), - )), - Video(VideoItem( - id: "mFxi3lOAcFs", - name: "Craziest Soviet Machines You Won\'t Believe Exist - Part 1", - duration: Some(1569), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/mFxi3lOAcFs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCgPz_lsa3ENFNi2sC_uraWrUIuBQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mFxi3lOAcFs/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA2u97RbHNrNVp_Cb5m0DSvA0P02g", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCkQO3QsgTpNTsOw6ujimT5Q", - name: "BE AMAZED", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_vmgpzJxLlR_1RA68cz8iITuzYLFFbPBvg5ULJlQ=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 year ago"), - view_count: Some(14056843), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Coming up are some crazy Soviet-era machines you won\'t believe exist!\nPart 2: https://youtu.be/MBZVOJrhuHY\nSuggest a topic here to be turned into a video: http://bit.ly/2kwqhuh\nSubscribe for..."), - )), - Video(VideoItem( - id: "eu7ubm7g59E", - name: "People Hated Me For Using This Slab", - duration: Some(1264), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/eu7ubm7g59E/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCg_b-6U2Pux_tZqAY8jkIa1JoTew", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/eu7ubm7g59E/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA9WwjUr_EpS3PPYNG3e4N8EEr9oA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC6I0KzAD7uFTL1qzxyunkvA", - name: "Blacktail Studio", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8jg6Uevc1qmfbksQ_xdJ0dF37PmZVFHkyNhouBTA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("3 months ago"), - view_count: Some(2845035), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Some people were furious I used this slab, and I actually understand why. \nBlacktail bow tie jig (limited first run): https://www.blacktailstudio.com/bowtie-jig\nBlacktail epoxy table workshop:..."), - )), - Video(VideoItem( - id: "TRGHIN2PGIA", - name: "Christian Bale Breaks Down His Most Iconic Characters | GQ", - duration: Some(1381), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMxhmIbADGzAlH1jNl6RN-ZU0eEQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/TRGHIN2PGIA/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDxo3aBHktmxUOEuSdXJVHmlcR4-Q", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCsEukrAd64fqA7FjwkmZ_Dw", - name: "GQ", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-gTmA2HcJO9Y5kYl4IUKG-jZ8QtojL8qaQiyW9kA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("9 days ago"), - view_count: Some(8044465), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Christian Bale breaks down a few of his most iconic characters from \'American Psycho,\' \'The Dark Knight\' Trilogy, \'The Fighter,\' \'The Machinist,\' \'The Big Short,\' \'Vice,\' \'Empire of the Sun,\'..."), - )), - Video(VideoItem( - id: "w3tENzcssDU", - name: "NFL Trick Plays But They Get Increasingly Higher IQ", - duration: Some(599), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/w3tENzcssDU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCZHp6o6cV9HNNJXPlI1FKi6S58qg", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/w3tENzcssDU/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBH4K8b0AfAgX0MvL4oHlbianG8xQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCJka5SDh36_N4pjJd69efkg", - name: "Savage Brick Sports", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_s0H6HPGb4LYTxkE6fH1Cp5Mp8jfeOaMluW2A03Q=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("3 months ago"), - view_count: Some(1172372), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("NFL Trick Plays But They Get Increasingly Higher IQ\nCredit to CoshReport for starting this trend.\n\n(if any of the links don\'t work, check most recent video)\nTalkSports Discord: https://discord.gg/n..."), - )), - Video(VideoItem( - id: "gUAd2XXzH7w", - name: "⚓\u{fe0f}Found ABANDONED SHIP!!! Big CRUISE SHIP on a desert island☠\u{fe0f} Where did the people go?!?", - duration: Some(2949), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/gUAd2XXzH7w/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDaBSyUxw88zjCr_Az868dEnhMrug", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/gUAd2XXzH7w/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAvfP1QR12y5cY8mvtg7Qqvl2XuTA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UClUZos7yKYtrmr0-azaD8pw", - name: "Kreosan English", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/Rzi1oOWYL20M028wSLcD4eEkByC7kWGcBpr6WBAx0aGC9UAlIcGB_-D4rI_wkMsOHe9VnRWL3Q=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 month ago"), - view_count: Some(1883533), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("We are preparing a continuation of the cruise ship for you! Very soon you will be able to see the next part. If you would like to help us make a video:\n\n► Support us - https://www.patreon.com/k..."), - )), - Video(VideoItem( - id: "YpGjaJ1ettI", - name: "[Working BGM] Comfortable music that makes you feel positive -- Morning Mood -- Daily Routine", - duration: Some(3651), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/YpGjaJ1ettI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDjAMJifo4Bg-vXUdHXyWYRHSf-Sw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YpGjaJ1ettI/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAx95bizFu4fxePN4qbMdKIoNDCug", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCpxY9-3iB5Hyho31uBgzh7w", - name: "Daily Routine", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/uci2aPM5XOEgdMt2h9aHMiN-K1-TmJQQPRdWvprNrpJpyZSLI9z0zFzyXQeQ1mNIQWl2QrjX3Rc=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 months ago"), - view_count: Some(1465389), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Hello everyone. It\'s me again. I will stay at home and study . It\'s full of fun energy today, so it\'s ready to spread to everyone with hilarious music. 🔥🔥🔥\nHave fun together 😊😊😊..."), - )), - Video(VideoItem( - id: "rPAhFD8hKxQ", - name: "Survival Camping 9ft/3m Under Snow - Giant Winter Bushcraft Shelter and Quinzee", - duration: Some(1301), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/rPAhFD8hKxQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCY0Xhznr6RKZ-EG1G5C1M34h8ugA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/rPAhFD8hKxQ/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBiANoEaNfk7eMjCAxapIK5NiYmmQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCfpCQ89W9wjkHc8J_6eTbBg", - name: "Outdoor Boys", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8v_ZMJTqxqU7M__w8nHHaygAyOvsqCnFeIhjQxFw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("6 months ago"), - view_count: Some(20488431), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Solo winter camping and bushcraft 9 feet (3 meters) under the snow. I hiked high up into the mountains during a snow storm with 30 mph/48 kmh winds to build a deep snow bushcraft survival shelter..."), - )), - Video(VideoItem( - id: "2rye4u-cCNk", - name: "Pink Panther Fights Off Pests | 54 Minute Compilation | The Pink Panther Show", - duration: Some(3158), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/2rye4u-cCNk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCi4Tt2tz-kk-cumb7SEfzzgixj5A", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/2rye4u-cCNk/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD4QbHfCufvmol1UNj5wqmOtjZNvw", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCFeUyPY6W8qX8w2o6oSiRmw", - name: "Official Pink Panther", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-htKBt4jUDwmnm0r-ojGjHZMy9-H92Q1pRoAfkgw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 months ago"), - view_count: Some(27357653), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("(1) Pink Pest Control\n(2) Pink-a-Boo\n(3) Little Beaux Pink\n(4) The Pink Package Plot\n(5) Come On In! The Water\'s Pink\n(6) Psychedelic Pink\n(7) Pink Posies\n(8) G.I. Pink\n\nThe Pink Panther is..."), - )), - Video(VideoItem( - id: "O0xAlfSaBNQ", - name: "FC Nantes vs. SC Freiburg – Highlights & Tore | UEFA Europa League", - duration: Some(326), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/O0xAlfSaBNQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDe-1NUODMNivJw5r5J5Wd16PMsqA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/O0xAlfSaBNQ/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAMD0BFcC-x_UYe-F5q5y4GPcGnWA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC8WYi3XQXsf-6FNvqoEvxag", - name: "RTL Sport", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/E1ZL4Cnc8ej3MeHR0To12hetHWrlhcupsz0nFyZmEJoWvLvJo9aOXvPOWmNMWn9tJLoMB3duRg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 hours ago"), - view_count: Some(117395), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("UEFA Europa League: https://www.rtlplus.com/shows/uefa-europa-league-19818?utm_source=youtube&utm_medium=editorial&utm_campaign=beschreibung&utm_term=rtlsport \nFC Nantes vs. SC Freiburg –..."), - )), - Video(VideoItem( - id: "Mhs9Sbnw19o", - name: "Dramatisches Duell: 400 Jahre altes Kästchen erzielt zig-fachen Wunschpreis! | Bares für Rares XXL", - duration: Some(744), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Mhs9Sbnw19o/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkxXdE8JNS0S6_Dhl-aY7FRmbL9g", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Mhs9Sbnw19o/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqbRhx4fQfK_2mVGNX_0_dZQt0YQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC53bIpnef1pwAx69ERmmOLA", - name: "Bares für Rares", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-ZyE4lblLYyk8iis1xoH_v64_tmhWca2Z6wmsVexk=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("11 days ago"), - view_count: Some(836333), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Du hast Schätze im Keller, die du unseren Expert*innen präsentieren möchtest? Hier geht\'s zum Bewerbungsformular: kurz.zdf.de/lSJ/\n\nEin einmaliges Bieterduell treibt den Preis für dieses..."), - )), - Video(VideoItem( - id: "Bzzp5Cay7DI", - name: "Sweet Jazz - Cool autumn Bossa Nova & October Jazz Positive Mood", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Bzzp5Cay7DI/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAKcYaDyG1yocH1e2_BIyl5FGKWPw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Bzzp5Cay7DI/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBOaXPCJec4XuaFyJ1-6dcnJWEmrg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCoGlllJE7aYe_VzIGP3s_wA", - name: "Smooth Jazz Music", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/babJ-iwY1cNs3mE2CnDiBSf0IjePgGuCLNLvLGcepj6tzXNLbSAQA7rQho35fKv9qFxEVIWdCw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(1216), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("Sweet Jazz - Cool autumn Bossa Nova & October Jazz Positive Mood\nhttps://youtu.be/Bzzp5Cay7DI\n********************************************\nSounds available on: Jazz Bossa Nova\nOFFICIAL VIDEO:..."), - )), - Video(VideoItem( - id: "SlskTqc9CEc", - name: "The Chick-Fil-A Full Menu Challenge", - duration: Some(613), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/SlskTqc9CEc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBjDpJq0J5r8jvLwIQG2HCvsoj8nw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/SlskTqc9CEc/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCnwo-jiD8xsP29kf6a5jMwIqHPEA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCd1fLoVFooPeWqCEYVUJZqg", - name: "Matt Stonie", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu9Of1-RwNeaBY6nulF3DECzDcAdZRbC_aOvZHPedw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("3 years ago"), - view_count: Some(39286403), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Good Video? Like/Fav & Share!!\n\nTBH this is really my 1st time trying Chick-Fil-A, legitimately. My verdict is torn, but that sauce is BOMB!\n\nChallenge\n+ Chick-Fil-A Deluxe\n+ Spicy Deluxe\n+..."), - )), - Video(VideoItem( - id: "CwRvM2TfYbs", - name: "Gentle healing music of health and to calm the nervous system, deep relaxation! Say Life Yes", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/CwRvM2TfYbs/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCj3HTq1K0KCuiuZdyh_by4VUZWeA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/CwRvM2TfYbs/hq720_live.jpg?sqp=COz4qZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA-rjU_R19afFlCk22vmfHEtfFKcA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC6jH5GNi0iOR17opA1Vowhw", - name: "Lucid Dream", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/QlTKeA9Cx-4qajm4VaLGGGH0cCVe8Fda_c6SScCLPy8fsu0ZQkDhtBB3qcZastIZPQNew5vi-LM=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(1416), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("🌿 Music for relaxation, meditation, study, reading, massage, spa or sleep. This music is ideal for dealing with anxiety, stress or insomnia as it promotes relaxation and helps eliminate..."), - )), - Video(VideoItem( - id: "7jz0pXSe_kI", - name: "Craziest \"Fine...I\'ll Do it Myself\" Moments in Sports History (PART 2)", - duration: Some(1822), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/7jz0pXSe_kI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEUQzJHcD0s2BgP1znPupwsxf48w", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/7jz0pXSe_kI/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLB1yzi-24jCXlAki1xIq0aDMqQY3A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCd5hdemikI6GxwGKhJCwzww", - name: "Highlight Reel", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/NETjJS3cNlblrg70CD4LH_Mma5lYmZSO3NlUnzi5Vd_cRD3XkVyaO1UCFTq6acK52g9XDly9-A=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("10 months ago"), - view_count: Some(11601863), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("(PART 2) of 👉🏼 Craziest \"Fine...I\'ll Do It Myself\" Moments in Sports History \n\nBIBLE VERSE OF THE DAY: Luke 12:40"), - )), - ], - ctoken: Some("4qmFsgKxAxIPRkV3aGF0X3RvX3dhdGNoGoADQ0RCNmxnSkhUWFpRYzJOVU1UUm1iME5OWjNOSmQzWjZOM0JPWlZWMldqZDFRVlp3ZEVOdGMwdEhXR3d3V0ROQ2FGb3lWbVpqTWpWb1kwaE9iMkl6VW1aamJWWnVZVmM1ZFZsWGQxTklNVlUwVDFSU1dXUXhUbXhXTTBaeVdsaGtSRkpGYkZCWk0yaDZWbXMxTlV4VmVGbE1XRnBSVlcxallVeFJRVUZhVnpSQlFWWldWRUZCUmtWU1VVRkNRVVZhUm1ReWFHaGtSamt3WWpFNU0xbFlVbXBoUVVGQ1FVRkZRa0ZCUVVKQlFVVkJRVUZGUWtGSFNrSkRRVUZUUlROQ2FGb3lWbVpqTWpWb1kwaE9iMkl6VW1aa1J6bHlXbGMwWVVWM2Ftb3hPRkJGT1dWSU5rRm9WVlpZWlVGTFNGaHVSMEp2ZDJsRmQycERObkZmUlRsbFNEWkJhRmRIZG1RMFMwaGxaMGhDTlZnMmJrMWxPVU5SU1VsTlVRJTNEJTNEmgIaYnJvd3NlLWZlZWRGRXdoYXRfdG9fd2F0Y2g%3D"), - endpoint: browse, -) diff --git a/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap b/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap deleted file mode 100644 index a6ec599..0000000 --- a/src/client/snapshots/rustypipe__client__trends__tests__map_startpage.snap +++ /dev/null @@ -1,784 +0,0 @@ ---- -source: src/client/trends.rs -expression: map_res.c ---- -Paginator( - count: None, - items: [ - VideoItem( - id: "_cyJhGsXDDM", - name: "Ultimate Criminal Canal Found Magnet Fishing! Police on the Hunt", - duration: Some(1096), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/_cyJhGsXDDM/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBz_ErMMfhKLRZRfcAPTlMTujziw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/_cyJhGsXDDM/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDaUGJ6GyTv5vwllztR6mN43dlmxA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCMLXec9-wpON8tZegnDsYLw", - name: "Bondi Treasure Hunter", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu91VHy_3HvCaMLthYyMSol6zwqxebNQ9GXc7NUB=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 day ago"), - view_count: Some(700385), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Subscribe for more Treasure Hunting videos: https://tinyurl.com/yyl3zerk\n\nMy Magnet! (Use Discount code \'BONDI\'): https://magnetarmagnets.com/\nMy Dive System! (Use Bonus code \'BONDI\'): https://lddy..."), - ), - VideoItem( - id: "36YnV9STBqc", - name: "The Good Life Radio\u{a0}•\u{a0}24/7 Live Radio | Best Relax House, Chillout, Study, Running, Gym, Happy Music", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/36YnV9STBqc/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLASUZkzmRJDiyIJmcsAdcDGan805Q", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/36YnV9STBqc/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBDrl0k5nr9wH-_aosqOimodx0b-w", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UChs0pSaEoNLV4mevBFGaoKA", - name: "The Good Life Radio x Sensual Musique", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_V9mOdHaorjNFqGXCecFeOBZhDWB8tVYG_I8gJwA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(7202), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("The Good Life is live streaming the best of Relaxing & Chill House Music, Deep House, Tropical House, EDM, Dance & Pop as well as Music for Sleep, Focus, Study, Workout, Gym, Running etc. in..."), - ), - VideoItem( - id: "YYD1qgH5qC4", - name: "چند شنبه با سینــا | فصل چهـارم | قسمت 5 | با حضور نازنین انصاری مدیر روزنامه کیهان لندن", - duration: Some(3261), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/YYD1qgH5qC4/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBkvD-kVL12hteMVVLRZvJHOdlPzQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/YYD1qgH5qC4/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDpO5WCJiLDPHrXOWH-xk2hTG_S3A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCzH_7hfL6Jd1H0WpNO_eryQ", - name: "MBC PERSIA", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu9lP4dhb_R_Y7e8Q4sb6dj7ve-YtalnMd2t1qP05A=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("14 hours ago"), - view_count: Some(104344), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("#mbcpersia\n#chandshanbeh\n#چندشنبه\n\nشبكه ام بى سى پرشيا را از حساب هاى مختلف در شبكه هاى اجتماعى دنبال كنيد\n►MBCPERSIA on Facebook:..."), - ), - VideoItem( - id: "BeJqgI6rw9k", - name: "your city is full of fake buildings, here\'s why", - duration: Some(725), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/BeJqgI6rw9k/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAvkJGHa6h2vzXrG1ueGQA8JysqEg", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/BeJqgI6rw9k/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDEJWMD2gUA572p12E7fZ1VX8qJ3A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCqVEHtQoXHmUCfJ-9smpTSg", - name: "Answer in Progress", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/b4TIQdFmoHYvQmcMt1XGH40m8-P5VdjyaZKb2C6nmkezGVk2Ln1csqe1PWg5aefEyk-NEFWhzg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("7 days ago"), - view_count: Some(1447008), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Save 33% on your first Native Deodorant Pack - normally $39, you’ll get it for $26! Click here https://bit.ly/nativeanswer1 and use my code ANSWER #AD\n\nSomewhere on your street there may..."), - ), - VideoItem( - id: "ma28eWd1oyA", - name: "Post Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Pop Hits 2020 Part 6", - duration: Some(29989), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/ma28eWd1oyA/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCznoPDMo_F1NCRBWoD4Ps5IjctxQ", - width: 480, - height: 270, - ), - ], - channel: Some(ChannelTag( - id: "UCldQuUMYTUGrjvcU2vaPSFQ", - name: "Music Library", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-4BJEmOMTfX96bjwu9AQS02gbODk5YQpZWVi5P=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("Streamed 2 years ago"), - view_count: Some(1861814), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Post Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Charlie Puth Pop Hits 2020\nPost Malone, Maroon 5, Adele, Taylor Swift, Ed Sheeran, Shawn Mendes, Charlie Puth Pop Hits..."), - ), - VideoItem( - id: "mL2LBRM5GBI", - name: "Salahs 6-Minuten-Hattrick & Firmino-Gala: Rangers - FC Liverpool 1:7 | UEFA Champions League | DAZN", - duration: Some(355), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/mL2LBRM5GBI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBhsDaEALJodPurmS3DywUoRRwzwg", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/mL2LBRM5GBI/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDkvWkbocujg95phnyfNzBB9dhEYA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCB-GdMjyokO9lZkKU_oIK6g", - name: "DAZN UEFA Champions League", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-D8LIEj-klO1gvUWMOA987HqMBBX9nn_WJS9Ka=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 days ago"), - view_count: Some(1471667), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("In der Liga läuft es für die Reds weiterhin nicht rund. Am vergangenen Spieltag gab es gegen Arsenal eine 2:3-Niederlage, am Sonntag trifft man auf Man City. Die Champions League soll für..."), - ), - VideoItem( - id: "Ang18qz2IeQ", - name: "Satisfying Videos of Workers Doing Their Job Perfectly", - duration: Some(1186), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Ang18qz2IeQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA3Cd49wYUuSEXz2MwhO2aqCMq5ZA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Ang18qz2IeQ/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAWQAks0vkJyJXSiQFIs9zhc2qyTg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCYenDLnIHsoqQ6smwKXQ7Hg", - name: "#Mind Warehouse", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8zB2zV3yx2fSYn5zDbv47rZCBr90wX3jW8EC6NBw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 days ago"), - view_count: Some(173121), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("TechZone ► https://goo.gl/Gj3wZs \n\n #incrediblemoments #mindwarehouse #IncredibleMoments #CaughtOnCamera #InterestingFacts \n\nYou can endlessly watch how others work, but in this selection,..."), - ), - VideoItem( - id: "fjHN4jsJnEU", - name: "I Made 200 Players Simulate Survival Island in Minecraft...", - duration: Some(2361), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/fjHN4jsJnEU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDwTosIfmAhNHIzU1sSXrTKT8vjNQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/fjHN4jsJnEU/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA4aFygGqUcm7-Hrkys95U0EAV9xA", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCqt4mmAqLmH-AwXz31URJsw", - name: "Sword4000", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_q3--WCh9Oc5o4XxAVVxxUz2narAtLR2QKuEw2lQ=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("7 days ago"), - view_count: Some(751909), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("200 Players Simulate Survival Island Civilizations in Minecraft...\n-------------------------------------------------------------------\nI invited 200 Players to a Survival Island and let them..."), - ), - VideoItem( - id: "FI1XrdBJIUI", - name: "Epic Construction Fails | Expensive Fails Compilation | FailArmy", - duration: Some(631), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/FI1XrdBJIUI/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBe2jCnLhTsXmZQefyAe-WqImk6-g", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/FI1XrdBJIUI/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD01TnIh1pH7TObDgKzx0GupXXVzw", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCPDis9pjXuqyI7RYLJ-TTSA", - name: "FailArmy", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/PLsX6LIg5JbMJR9v7eTD7nQOPmZN16_X7h_uACw5qeWLAewiNfasZFsxQ48Dn8wZ_4McKUPZSA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 days ago"), - view_count: Some(2226471), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("I don\'t think so, Tim. ►►► Submit your videos for the chance to be featured 🔗 https://www.failarmy.com/pages/submit-video ▼ Follow us for more fails! https://linktr.ee/failarmy\n#fails..."), - ), - VideoItem( - id: "MXdplejK8vU", - name: "Chilly autumn Jazz ☕ Smooth September Jazz & Bossa Nova for a great relaxing weekend", - duration: Some(86403), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/MXdplejK8vU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAIOe93l-1elIK0DfMLk0f3nDWgSA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/MXdplejK8vU/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLByGLefQ3I9p2VQ5oZDmc5G_pCTlQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCeGJ6v6KQt0s88hGKMfybuw", - name: "Cozy Jazz Music", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/tU7x6wNqEM_OIeU-jaaPcdhX3adNhnAY7WaGHsjEMfTLSzVHxm8VVBfaXRjDbf3y_LftGNJ83A=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 month ago"), - view_count: Some(148743), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Chilly autumn Jazz ☕ Smooth September Jazz & Bossa Nova for a great relaxing weekend\nhttps://youtu.be/MXdplejK8vU\n*******************************************\nSounds available on: Jazz Bossa..."), - ), - VideoItem( - id: "Jri4_9vBFiQ", - name: "Top 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N’ Roses,Bon Jovi, U2,CCR", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Jri4_9vBFiQ/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA1ZqDfSLi3Mf5qvpUFSYyDIODNQw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Jri4_9vBFiQ/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDtwgV7RdHmgDlAESZqSYbuZtFrvw", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCiIWdzEVNH8okhlapR9a-xA", - name: "Rock Music", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/QIEcTVdBg9A2kE3un-IfjgTPiglDGMBbh9vMSXo2J5ZRICmunnVQkfpbMWNP8Kueac09DZrn=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(192), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("Top 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N’ Roses,Bon Jovi, U2,CCR\nTop 100 Best Classic Rock Songs Of All Time 🔥 R.E.M, Queen, Metallica,Guns N’..."), - ), - VideoItem( - id: "ll4d5Lt-Ie8", - name: "Relaxing Music Healing Stress, Anxiety and Depressive States Heal Mind, Body and Soul | Sleep music", - duration: Some(42896), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/ll4d5Lt-Ie8/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAqdY2bQaQ3JHl5FYoTPuZFxXRKIQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/ll4d5Lt-Ie8/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA6xc8r38_2ygARU0vOR4kI6ZNz5w", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCNS3dqFGBPhxHmOigehpBeg", - name: "Love YourSelf", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/fkgfEL2OtY2mhhyCV3xSOc3OsVK5ylQJmBev7XlBGE548dM6dqS2Z66YF-pdnbQOQpCuvZOlAdk=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("Streamed 5 months ago"), - view_count: Some(5363904), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("The study found that listening to relaxing music of the patient\'s choice resulted in \"significant pain relief and increased mobility.\" Researchers believe that music relieves pain because listening..."), - ), - VideoItem( - id: "Dx2wbKLokuQ", - name: "W. Putin: Die Sehnsucht nach dem Imperium | Mit offenen Karten | ARTE", - duration: Some(729), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/Dx2wbKLokuQ/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBHQXnaEYo6frjkJ3FFuAPkAyOCKQ", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/Dx2wbKLokuQ/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDFtWV_wy25ohVyBthH8a5HwSj6Kw", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCLLibJTCy3sXjHLVaDimnpQ", - name: "ARTEde", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu-1i2jxeXFISJhBbpWWv5vVX2xE5yQbjpaZZP3HPg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("2 weeks ago"), - view_count: Some(539838), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Jede Woche untersucht „Mit offenen Karten“ die politischen Kräfteverhältnisse in der ganzen Welt anhand detaillierter geografischer Karten \n\nIm Februar 2022 rechtfertigte Wladimir Putin..."), - ), - VideoItem( - id: "jfKfPfyJRdk", - name: "lofi hip hop radio - beats to relax/study to", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/jfKfPfyJRdk/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCR-bHqcvOP14sSUsNt9PTuf3ZI4Q", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/jfKfPfyJRdk/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBBVEQQnwSLJFllntNgv2JAAlvSMQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCSJ4gkVC6NrvII8umztf0Ow", - name: "Lofi Girl", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/KNYElmLFGAOSZoBmxYGKKXhGHrT2e7Hmz3WsBerbam5uaDXFADAmT7htj3OcC-uK1O88lC9fQg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(21262), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("🤗 Thank you for listening, I hope you will have a good time here\n\n💽 | Get the latest vinyl (limited edition)\n→ https://vinyl-lofirecords.com/\n\n🎼 | Listen on Spotify, Apple music..."), - ), - VideoItem( - id: "qmrzTUmZ4UU", - name: "850€ für den Verrat am System - UCS AT-AT LEGO® Star Wars 75313", - duration: Some(2043), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAsI3VS-wxnt1s_zS4M_YbVrV1pAg", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/qmrzTUmZ4UU/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBYk7w0qGeW4kZchFr-tbydELUChQ", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC_EZd3lsmxudu3IQzpTzOgw", - name: "Held der Steine Inh. Thomas Panke", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8g9hFxZ2HD4P9pDsUxoAvkHwbZoTVNr3yw12i8YA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("6 days ago"), - view_count: Some(600150), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Star Wars - erschienen 2021 - 6749 Teile\n\nDieses Set bei Amazon*:\nhttps://amzn.to/3yu9dHX\n\nErwähnt im Video*:\nTassen https://bit.ly/HdSBausteinecke\nBig Boy https://bit.ly/BBLokBigBoy\nBurg..."), - ), - VideoItem( - id: "t0Q2otsqC4I", - name: "Tom & Jerry | Tom & Jerry in Full Screen | Classic Cartoon Compilation | WB Kids", - duration: Some(1298), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/t0Q2otsqC4I/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCFcrz2zM6mPUmJiCsC7c7suOzSug", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/t0Q2otsqC4I/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCVANFKKXmrdehkf7aM9issiuph5A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UC9trsD1jCTXXtN3xIOIU8gg", - name: "WB Kids", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu80jIF6oehgpUILTaUbqSM5xYHWbPoc_Bz7wddxzg=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: Verified, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("10 months ago"), - view_count: Some(252381571), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("Did you know that there are only 25 classic Tom & Jerry episodes that were displayed in a widescreen CinemaScope from the 1950s? Enjoy a compilation filled with some of the best moments from..."), - ), - VideoItem( - id: "zE-a5eqvlv8", - name: "Dua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCDyvujcpz62sEsL9Ke4ADBpXWqOA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/zE-a5eqvlv8/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCyJ-QdgAD1F-DqcLKivIcalBJOEg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCX-USfenzQlhrEJR1zD5IYw", - name: "Deep Mood.", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/8WO05hff9bGjmlyPFo_PJRMIfHEoUvN_KbTcWRVX2yqeUO3fLgkz0K4MA6W95s3_NKdNUAwjow=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(955), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("#Summermix #DeepHouse #DeepHouseSummerMix\nDua Lipa, Coldplay, Martin Garrix & Kygo, The Chainsmokers Style - Feeling Me\n\n🎵 All songs in this spotify playlist: https://spoti.fi/2TJ4Dyj\nSubmit..."), - ), - VideoItem( - id: "HxCcKzRAGWk", - name: "(Music for Man ) Relaxing Whiskey Blues Music - Modern Electric Guitar Blues - JAZZ & BLUES", - duration: Some(42899), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/HxCcKzRAGWk/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD5CNX5XaQAKrLpPq0nxmyUjP5yUw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/HxCcKzRAGWk/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLANuDaGE9jI_-go6cS_nU3qCu6LRg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCGr-rTYtP1m-r_-ncspdVQQ", - name: "JAZZ & BLUES", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/zqAxVISjt1hyzRzZKxRTvJfgEc5k2Luf-aEE55ohjUvt0QvqIRvmFBNC6UKj2TxlZrzGo8QMNA=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("Streamed 3 months ago"), - view_count: Some(3156236), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("-----------------------------------------------------------------------------------\n✔Thanks for watching! Have a nice day!\n✔Don\'t forget LIKE - SHARE - COMMENT\n#bluesmusic#slowblues#bluesrock..."), - ), - VideoItem( - id: "HlHYOdZePSE", - name: "Healing Music for Anxiety Disorders, Fears, Depression and Eliminate Negative Thoughts", - duration: None, - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/HlHYOdZePSE/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBeqmmnli6rVdK1k7vcHlwE3kiNaw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/HlHYOdZePSE/hq720_live.jpg?sqp=COjxqZoG-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAk9H5lapp7KBhJCER7uRCr0fDRgg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCqNYK5QArQRZSIR8v6_FCfA", - name: "Tranquil Music", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/YJUUVEayRZKNtFzWEiYgvxp9XOBw9-ioxiYErE0cNDTYNvkxHBCiuUXse4-a_yaYfSS-GfT-MQ=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: None, - view_count: Some(1585), - is_live: true, - is_short: false, - is_upcoming: false, - short_description: Some("Healing Music for Anxiety Disorders, Fears, Depression and Eliminate Negative Thoughts\n#HealingMusic #RelaxingMusic #TranquilMusic\n__________________________________\nMusic for:\nChakra healing...."), - ), - VideoItem( - id: "CJ2AH3LJeic", - name: "Coldplay Greatest Hits Full Album 2022 New Songs of Coldplay 2022", - duration: Some(7781), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/CJ2AH3LJeic/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLC3A9sBlWQZmFUI9BYe5KzvATqiqw", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/CJ2AH3LJeic/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBaKSeSRdcDjEqQxrAfPaQmDJecvg", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCdK2lzwelugXGhR9SCWuEew", - name: "PLAY MUSIC", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu8fIT4MTyobgM_deRkvcWBMIhKpAeIGfgqqob5p=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("7 months ago"), - view_count: Some(5595965), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nSubscribe channel for more videos:\n🔔Subscribe: https://bit.ly/2UbIZFv\n⚡Facebook: https://bitly.com.vn/gXDsC..."), - ), - VideoItem( - id: "KJwzKxQ81iA", - name: "Handmade Candy Making Collection / 수제 사탕 만들기 모음 / Korean Candy Store", - duration: Some(3152), - thumbnail: [ - Thumbnail( - url: "https://i.ytimg.com/vi/KJwzKxQ81iA/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCtm3YNbp3mK6RjsACZuz7fs-TUYA", - width: 360, - height: 202, - ), - Thumbnail( - url: "https://i.ytimg.com/vi/KJwzKxQ81iA/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAVzCHCFbAyBRebsCKcSDxaWq0x6A", - width: 720, - height: 404, - ), - ], - channel: Some(ChannelTag( - id: "UCdGwDjTgbSwQDZ8dYOdrplg", - name: "Soon Films 순필름", - avatar: [ - Thumbnail( - url: "https://yt3.ggpht.com/ytc/AMLnZu_eXMJm3sINr84rGTr3aiXD-OZ43aqx4yuNq9wjXw=s68-c-k-c0x00ffffff-no-rj", - width: 68, - height: 68, - ), - ], - verification: None, - subscriber_count: None, - )), - publish_date: "[date]", - publish_date_txt: Some("1 month ago"), - view_count: Some(3127238), - is_live: false, - is_short: false, - is_upcoming: false, - short_description: Some("00:00 Handmade Candy Making\n13:43 Delicate Handmade Candy Making\n28:33 Rainbow Lollipop Handmade Candy Making\n39:10 Cute Handmade Candy Making"), - ), - ], - ctoken: Some("4qmFsgKbAxIPRkV3aGF0X3RvX3dhdGNoGuoCQ0JoNmlBSk5aMjlKYjB0NmVtOWlTR3hxVFRSdlYyMHdTMkYzYjFwbFdGSm1ZMGRHYmxwV09YcGliVVozWXpKb2RtUkdPWGxhVjJSd1lqSTFhR0pDU1daWFZFSXhUbFpuZDFSV09YSldNRlp0WkRCT1JWTlZPV3BsU0U1WFZHNWtiRXhWY0ZSa1ZrSlRXbmh2ZEVGQlFteGlaMEZDVmxaTlFVRlZVa1pCUVVWQlVtdFdNMkZIUmpCWU0xSjJXRE5rYUdSSFRtOUJRVVZCUVZGRlFVRkJSVUZCVVVGQlFWRkZRVmxyUlVsQlFrbFVZMGRHYmxwV09YcGliVVozWXpKb2RtUkdPVEJpTW5Sc1ltaHZWRU5MVDNJeFpuSjROR1p2UTBaU1YwSm1RVzlrVkZWSlN6RnBTVlJEUzA5eU1XWnllRFJtYjBOR1VsZENaa0Z2WkZSVlNVc3hkbkZqZURjd1NrRm5aMW8lM0SaAhpicm93c2UtZmVlZEZFd2hhdF90b193YXRjaA%3D%3D"), - visitor_data: Some("CgtjTXNGWnhNcjdORSiq8qmaBg%3D%3D"), - endpoint: browse, -) diff --git a/src/client/trends.rs b/src/client/trends.rs index a445c91..c271b7d 100644 --- a/src/client/trends.rs +++ b/src/client/trends.rs @@ -2,38 +2,13 @@ use std::borrow::Cow; use crate::{ error::{Error, ExtractionError}, - model::{ - paginator::{ContinuationEndpoint, Paginator}, - VideoItem, - }, - param::Language, + model::VideoItem, serializer::MapResult, }; -use super::{ - response, ClientType, MapRespCtx, MapResponse, QBrowse, QBrowseParams, RustyPipeQuery, -}; +use super::{response, ClientType, MapRespCtx, MapResponse, QBrowseParams, RustyPipeQuery}; impl RustyPipeQuery { - /// Get the videos from the YouTube startpage - #[tracing::instrument(skip(self), level = "error")] - pub async fn startpage(&self) -> Result, Error> { - let context = self.get_context(ClientType::Desktop, true, None).await; - let request_body = QBrowse { - context, - browse_id: "FEwhat_to_watch", - }; - - self.execute_request::( - ClientType::Desktop, - "startpage", - "", - "browse", - &request_body, - ) - .await - } - /// Get the videos from the YouTube trending page #[tracing::instrument(skip(self), level = "error")] pub async fn trending(&self) -> Result, Error> { @@ -55,33 +30,6 @@ impl RustyPipeQuery { } } -impl MapResponse> for response::Startpage { - fn map_response( - self, - ctx: &MapRespCtx<'_>, - ) -> Result>, ExtractionError> { - let grid = self - .contents - .two_column_browse_results_renderer - .contents - .into_iter() - .next() - .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no contents")))? - .tab_renderer - .content - .section_list_renderer - .contents; - - Ok(map_startpage_videos( - grid, - ctx.lang, - self.response_context - .visitor_data - .or_else(|| ctx.visitor_data.map(str::to_owned)), - )) - } -} - impl MapResponse> for response::Trending { fn map_response( self, @@ -109,26 +57,6 @@ impl MapResponse> for response::Trending { } } -fn map_startpage_videos( - videos: MapResult>, - lang: Language, - visitor_data: Option, -) -> MapResult> { - let mut mapper = response::YouTubeListMapper::::new(lang); - mapper.map_response(videos); - - MapResult { - c: Paginator::new_ext( - None, - mapper.items, - mapper.ctoken, - visitor_data, - ContinuationEndpoint::Browse, - ), - warnings: mapper.warnings, - } -} - #[cfg(test)] mod tests { use std::{fs::File, io::BufReader}; @@ -138,32 +66,11 @@ mod tests { use crate::{ client::{response, MapRespCtx, MapResponse}, - model::{paginator::Paginator, VideoItem}, + model::VideoItem, serializer::MapResult, util::tests::TESTFILES, }; - #[test] - fn map_startpage() { - let json_path = path!(*TESTFILES / "trends" / "startpage.json"); - let json_file = File::open(json_path).unwrap(); - - let startpage: response::Startpage = - serde_json::from_reader(BufReader::new(json_file)).unwrap(); - let map_res: MapResult> = - startpage.map_response(&MapRespCtx::test("")).unwrap(); - - assert!( - map_res.warnings.is_empty(), - "deserialization/mapping warnings: {:?}", - map_res.warnings - ); - - insta::assert_ron_snapshot!("map_startpage", map_res.c, { - ".items[].publish_date" => "[date]", - }); - } - #[rstest] #[case::base("videos")] #[case::page_header_renderer("20230501_page_header_renderer")] @@ -171,10 +78,10 @@ mod tests { let json_path = path!(*TESTFILES / "trends" / format!("trending_{name}.json")); let json_file = File::open(json_path).unwrap(); - let startpage: response::Trending = + let trending: response::Trending = serde_json::from_reader(BufReader::new(json_file)).unwrap(); let map_res: MapResult> = - startpage.map_response(&MapRespCtx::test("")).unwrap(); + trending.map_response(&MapRespCtx::test("")).unwrap(); assert!( map_res.warnings.is_empty(), diff --git a/tests/youtube.rs b/tests/youtube.rs index 4e5f656..ca87752 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -1449,18 +1449,6 @@ async fn resolve_channel_not_found(rp: RustyPipe) { //#TRENDS -#[rstest] -#[tokio::test] -#[ignore] -async fn startpage(rp: RustyPipe) { - let startpage = rp.query().startpage().await.unwrap(); - - // The startpage requires visitor data to fetch continuations - assert!(startpage.visitor_data.is_some()); - - assert_next(startpage, rp.query(), 8, 2, true).await; -} - #[rstest] #[tokio::test] async fn trending(rp: RustyPipe) {