Compare commits

..

No commits in common. "b64aabb6b62da942740db585edce89e0615bb977" and "8026b08e2d28d79ac1336655efdeab5c99cfb445" have entirely different histories.

17 changed files with 466 additions and 2217 deletions

View file

@ -13,10 +13,11 @@ include = ["/src", "README.md", "LICENSE", "!snapshots"]
members = [".", "codegen", "cli"] members = [".", "codegen", "cli"]
[features] [features]
default = ["default-tls"] default = ["default-tls", "rss"]
all = ["rss"] all = ["rss", "html"]
rss = ["quick-xml"] rss = ["quick-xml"]
html = ["askama_escape"]
# Reqwest TLS # Reqwest TLS
default-tls = ["reqwest/default-tls"] default-tls = ["reqwest/default-tls"]
@ -44,6 +45,7 @@ filenamify = "0.1.0"
ress = "0.11.4" ress = "0.11.4"
phf = "0.11.1" phf = "0.11.1"
base64 = "0.13.0" base64 = "0.13.0"
askama_escape = {version = "0.10.3", optional = true}
quick-xml = {version = "0.25.0", features = ["serialize"], optional = true} quick-xml = {version = "0.25.0", features = ["serialize"], optional = true}
[dev-dependencies] [dev-dependencies]

View file

@ -136,36 +136,27 @@ impl MapResponse<Channel<Paginator<VideoItem>>> for response::Channel {
_deobf: Option<&crate::deobfuscate::Deobfuscator>, _deobf: Option<&crate::deobfuscate::Deobfuscator>,
) -> Result<MapResult<Channel<Paginator<VideoItem>>>, ExtractionError> { ) -> Result<MapResult<Channel<Paginator<VideoItem>>>, ExtractionError> {
let content = map_channel_content(self.contents, self.alerts)?; let content = map_channel_content(self.contents, self.alerts)?;
let grid = match content.content {
let channel_data = map_channel( response::channel::ChannelContent::GridRenderer { items } => Some(items),
MapChannelData { _ => None,
header: self.header,
metadata: self.metadata,
microformat: self.microformat,
visitor_data: self.response_context.visitor_data,
has_shorts: content.has_shorts,
has_live: content.has_live,
},
id,
lang,
)?;
let v_res = match content.content {
ChannelContent::GridRenderer { items } => {
let mut mapper =
response::YouTubeListMapper::<VideoItem>::with_channel(lang, &channel_data);
mapper.map_response(items);
MapResult {
c: Paginator::new(None, mapper.items, mapper.ctoken),
warnings: mapper.warnings,
}
}
_ => MapResult::default(),
}; };
let v_res = grid.map(|g| map_videos(g, lang)).unwrap_or_default();
Ok(MapResult { Ok(MapResult {
c: combine_channel_data(channel_data, v_res.c), c: map_channel(
MapChannelData {
header: self.header,
metadata: self.metadata,
microformat: self.microformat,
visitor_data: self.response_context.visitor_data,
has_shorts: content.has_shorts,
has_live: content.has_live,
content: v_res.c,
},
id,
lang,
)?,
warnings: v_res.warnings, warnings: v_res.warnings,
}) })
} }
@ -179,36 +170,29 @@ impl MapResponse<Channel<Paginator<PlaylistItem>>> for response::Channel {
_deobf: Option<&crate::deobfuscate::Deobfuscator>, _deobf: Option<&crate::deobfuscate::Deobfuscator>,
) -> Result<MapResult<Channel<Paginator<PlaylistItem>>>, ExtractionError> { ) -> Result<MapResult<Channel<Paginator<PlaylistItem>>>, ExtractionError> {
let content = map_channel_content(self.contents, self.alerts)?; let content = map_channel_content(self.contents, self.alerts)?;
let grid = match content.content {
let channel_data = map_channel( response::channel::ChannelContent::GridRenderer { items } => Some(items),
MapChannelData { _ => None,
header: self.header,
metadata: self.metadata,
microformat: self.microformat,
visitor_data: self.response_context.visitor_data,
has_shorts: content.has_shorts,
has_live: content.has_live,
},
id,
lang,
)?;
let p_res = match content.content {
ChannelContent::GridRenderer { items } => {
let mut mapper =
response::YouTubeListMapper::<PlaylistItem>::with_channel(lang, &channel_data);
mapper.map_response(items);
MapResult {
c: Paginator::new(None, mapper.items, mapper.ctoken),
warnings: mapper.warnings,
}
}
_ => MapResult::default(),
}; };
let p_res = grid
.map(|item| map_playlists(item, lang))
.unwrap_or_default();
Ok(MapResult { Ok(MapResult {
c: combine_channel_data(channel_data, p_res.c), c: map_channel(
MapChannelData {
header: self.header,
metadata: self.metadata,
microformat: self.microformat,
visitor_data: self.response_context.visitor_data,
has_shorts: content.has_shorts,
has_live: content.has_live,
content: p_res.c,
},
id,
lang,
)?,
warnings: p_res.warnings, warnings: p_res.warnings,
}) })
} }
@ -223,60 +207,86 @@ impl MapResponse<Channel<ChannelInfo>> for response::Channel {
) -> Result<MapResult<Channel<ChannelInfo>>, ExtractionError> { ) -> Result<MapResult<Channel<ChannelInfo>>, ExtractionError> {
let content = map_channel_content(self.contents, self.alerts)?; let content = map_channel_content(self.contents, self.alerts)?;
let mut warnings = Vec::new(); let mut warnings = Vec::new();
let meta = match content.content {
response::channel::ChannelContent::ChannelAboutFullMetadataRenderer(meta) => Some(meta),
_ => None,
};
let channel_data = map_channel( let cinfo = meta
MapChannelData { .map(|meta| ChannelInfo {
header: self.header, create_date: timeago::parse_textual_date_or_warn(
metadata: self.metadata, lang,
microformat: self.microformat, &meta.joined_date_text,
visitor_data: self.response_context.visitor_data, &mut warnings,
has_shorts: content.has_shorts, )
has_live: content.has_live, .map(OffsetDateTime::date),
}, view_count: meta
id, .view_count_text
lang, .and_then(|txt| util::parse_numeric_or_warn(&txt, &mut warnings)),
)?; links: meta
.primary_links
let cinfo = match content.content { .into_iter()
response::channel::ChannelContent::ChannelAboutFullMetadataRenderer(meta) => { .filter_map(|l| {
ChannelInfo { l.navigation_endpoint
create_date: timeago::parse_textual_date_or_warn( .url_endpoint
lang, .map(|url| (l.title, util::sanitize_yt_url(&url.url)))
&meta.joined_date_text, })
&mut warnings, .collect(),
) })
.map(OffsetDateTime::date), .unwrap_or_else(|| {
view_count: meta
.view_count_text
.and_then(|txt| util::parse_numeric_or_warn(&txt, &mut warnings)),
links: meta
.primary_links
.into_iter()
.filter_map(|l| {
l.navigation_endpoint
.url_endpoint
.map(|url| (l.title, util::sanitize_yt_url(&url.url)))
})
.collect(),
}
}
_ => {
warnings.push("no aboutFullMetadata".to_owned()); warnings.push("no aboutFullMetadata".to_owned());
ChannelInfo { ChannelInfo {
create_date: None, create_date: None,
view_count: None, view_count: None,
links: Vec::new(), links: Vec::new(),
} }
} });
};
Ok(MapResult { Ok(MapResult {
c: combine_channel_data(channel_data, cinfo), c: map_channel(
MapChannelData {
header: self.header,
metadata: self.metadata,
microformat: self.microformat,
visitor_data: self.response_context.visitor_data,
has_shorts: content.has_shorts,
has_live: content.has_live,
content: cinfo,
},
id,
lang,
)?,
warnings, warnings,
}) })
} }
} }
fn map_videos(
res: MapResult<Vec<response::YouTubeListItem>>,
lang: Language,
) -> MapResult<Paginator<VideoItem>> {
let mut mapper = response::YouTubeListMapper::<VideoItem>::new(lang);
mapper.map_response(res);
MapResult {
c: Paginator::new(None, mapper.items, mapper.ctoken),
warnings: mapper.warnings,
}
}
fn map_playlists(
res: MapResult<Vec<response::YouTubeListItem>>,
lang: Language,
) -> MapResult<Paginator<PlaylistItem>> {
let mut mapper = response::YouTubeListMapper::<PlaylistItem>::new(lang);
mapper.map_response(res);
MapResult {
c: Paginator::new(None, mapper.items, mapper.ctoken),
warnings: mapper.warnings,
}
}
fn map_vanity_url(url: &str, id: &str) -> Option<String> { fn map_vanity_url(url: &str, id: &str) -> Option<String> {
if url.contains(id) { if url.contains(id) {
return None; return None;
@ -289,20 +299,21 @@ fn map_vanity_url(url: &str, id: &str) -> Option<String> {
}) })
} }
struct MapChannelData { struct MapChannelData<T> {
header: Option<response::channel::Header>, header: Option<response::channel::Header>,
metadata: Option<response::channel::Metadata>, metadata: Option<response::channel::Metadata>,
microformat: Option<response::channel::Microformat>, microformat: Option<response::channel::Microformat>,
visitor_data: Option<String>, visitor_data: Option<String>,
has_shorts: bool, has_shorts: bool,
has_live: bool, has_live: bool,
content: T,
} }
fn map_channel( fn map_channel<T>(
d: MapChannelData, d: MapChannelData<T>,
id: &str, id: &str,
lang: Language, lang: Language,
) -> Result<Channel<()>, ExtractionError> { ) -> Result<Channel<T>, ExtractionError> {
let header = d let header = d
.header .header
.ok_or(ExtractionError::ContentUnavailable(Cow::Borrowed( .ok_or(ExtractionError::ContentUnavailable(Cow::Borrowed(
@ -350,7 +361,7 @@ fn map_channel(
has_shorts: d.has_shorts, has_shorts: d.has_shorts,
has_live: d.has_live, has_live: d.has_live,
visitor_data: d.visitor_data, visitor_data: d.visitor_data,
content: (), content: d.content,
}, },
response::channel::Header::CarouselHeaderRenderer(carousel) => { response::channel::Header::CarouselHeaderRenderer(carousel) => {
let hdata = carousel let hdata = carousel
@ -387,7 +398,7 @@ fn map_channel(
has_shorts: d.has_shorts, has_shorts: d.has_shorts,
has_live: d.has_live, has_live: d.has_live,
visitor_data: d.visitor_data, visitor_data: d.visitor_data,
content: (), content: d.content,
} }
} }
}) })
@ -481,26 +492,6 @@ fn map_channel_content(
} }
} }
fn combine_channel_data<T>(channel_data: Channel<()>, content: T) -> Channel<T> {
Channel {
id: channel_data.id,
name: channel_data.name,
subscriber_count: channel_data.subscriber_count,
avatar: channel_data.avatar,
verification: channel_data.verification,
description: channel_data.description,
tags: channel_data.tags,
vanity_url: channel_data.vanity_url,
banner: channel_data.banner,
mobile_banner: channel_data.mobile_banner,
tv_banner: channel_data.tv_banner,
has_shorts: channel_data.has_shorts,
has_live: channel_data.has_live,
visitor_data: channel_data.visitor_data,
content,
}
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use std::{fs::File, io::BufReader, path::Path}; use std::{fs::File, io::BufReader, path::Path};

View file

@ -6,7 +6,7 @@ use time::{Duration, OffsetDateTime};
use super::{ChannelBadge, ContinuationEndpoint, Thumbnails}; use super::{ChannelBadge, ContinuationEndpoint, Thumbnails};
use crate::{ use crate::{
model::{Channel, ChannelId, ChannelItem, ChannelTag, PlaylistItem, VideoItem, YouTubeItem}, model::{ChannelId, ChannelItem, ChannelTag, PlaylistItem, VideoItem, YouTubeItem},
param::Language, param::Language,
serializer::{ serializer::{
ignore_any, ignore_any,
@ -320,8 +320,6 @@ impl IsShort for Vec<TimeOverlay> {
#[derive(Debug)] #[derive(Debug)]
pub(crate) struct YouTubeListMapper<T> { pub(crate) struct YouTubeListMapper<T> {
lang: Language, lang: Language,
channel: Option<ChannelTag>,
pub items: Vec<T>, pub items: Vec<T>,
pub warnings: Vec<String>, pub warnings: Vec<String>,
pub ctoken: Option<String>, pub ctoken: Option<String>,
@ -332,24 +330,6 @@ impl<T> YouTubeListMapper<T> {
pub fn new(lang: Language) -> Self { pub fn new(lang: Language) -> Self {
Self { Self {
lang, lang,
channel: None,
items: Vec::new(),
warnings: Vec::new(),
ctoken: None,
corrected_query: None,
}
}
pub fn with_channel<C>(lang: Language, channel: &Channel<C>) -> Self {
Self {
lang,
channel: Some(ChannelTag {
id: channel.id.to_owned(),
name: channel.name.to_owned(),
avatar: Vec::new(),
verification: channel.verification,
subscriber_count: channel.subscriber_count,
}),
items: Vec::new(), items: Vec::new(),
warnings: Vec::new(), warnings: Vec::new(),
ctoken: None, ctoken: None,
@ -370,23 +350,20 @@ impl<T> YouTubeListMapper<T> {
title: video.title, title: video.title,
length: length_text.and_then(|txt| util::parse_video_length(&txt)), length: length_text.and_then(|txt| util::parse_video_length(&txt)),
thumbnail: video.thumbnail.into(), thumbnail: video.thumbnail.into(),
channel: video channel: video.channel.and_then(|c| {
.channel ChannelId::try_from(c).ok().map(|c| ChannelTag {
.and_then(|c| { id: c.id,
ChannelId::try_from(c).ok().map(|c| ChannelTag { name: c.name,
id: c.id, avatar: video
name: c.name, .channel_thumbnail_supported_renderers
avatar: video .map(|tn| tn.channel_thumbnail_with_link_renderer.thumbnail)
.channel_thumbnail_supported_renderers .or(video.channel_thumbnail)
.map(|tn| tn.channel_thumbnail_with_link_renderer.thumbnail) .unwrap_or_default()
.or(video.channel_thumbnail) .into(),
.unwrap_or_default() verification: video.owner_badges.into(),
.into(), subscriber_count: None,
verification: video.owner_badges.into(),
subscriber_count: None,
})
}) })
.or_else(|| self.channel.clone()), }),
publish_date: video publish_date: video
.upcoming_event_data .upcoming_event_data
.as_ref() .as_ref()
@ -431,7 +408,7 @@ impl<T> YouTubeListMapper<T> {
}) })
}), }),
thumbnail: video.thumbnail.into(), thumbnail: video.thumbnail.into(),
channel: self.channel.clone(), channel: None,
publish_date: None, publish_date: None,
publish_date_txt: None, publish_date_txt: None,
view_count: video view_count: video
@ -444,7 +421,7 @@ impl<T> YouTubeListMapper<T> {
} }
} }
fn map_playlist(&self, playlist: PlaylistRenderer) -> PlaylistItem { fn map_playlist(playlist: PlaylistRenderer) -> PlaylistItem {
PlaylistItem { PlaylistItem {
id: playlist.playlist_id, id: playlist.playlist_id,
name: playlist.title, name: playlist.title,
@ -453,18 +430,15 @@ impl<T> YouTubeListMapper<T> {
.or_else(|| playlist.thumbnails.and_then(|mut t| t.try_swap_remove(0))) .or_else(|| playlist.thumbnails.and_then(|mut t| t.try_swap_remove(0)))
.unwrap_or_default() .unwrap_or_default()
.into(), .into(),
channel: playlist channel: playlist.channel.and_then(|c| {
.channel ChannelId::try_from(c).ok().map(|c| ChannelTag {
.and_then(|c| { id: c.id,
ChannelId::try_from(c).ok().map(|c| ChannelTag { name: c.name,
id: c.id, avatar: Vec::new(),
name: c.name, verification: playlist.owner_badges.into(),
avatar: Vec::new(), subscriber_count: None,
verification: playlist.owner_badges.into(),
subscriber_count: None,
})
}) })
.or_else(|| self.channel.clone()), }),
video_count: playlist.video_count.or_else(|| { video_count: playlist.video_count.or_else(|| {
playlist playlist
.video_count_short_text .video_count_short_text
@ -503,7 +477,7 @@ impl YouTubeListMapper<YouTubeItem> {
} }
YouTubeListItem::PlaylistRenderer(playlist) => self YouTubeListItem::PlaylistRenderer(playlist) => self
.items .items
.push(YouTubeItem::Playlist(self.map_playlist(playlist))), .push(YouTubeItem::Playlist(Self::map_playlist(playlist))),
YouTubeListItem::ChannelRenderer(channel) => { YouTubeListItem::ChannelRenderer(channel) => {
self.items self.items
.push(YouTubeItem::Channel(Self::map_channel(channel))); .push(YouTubeItem::Channel(Self::map_channel(channel)));
@ -567,7 +541,7 @@ impl YouTubeListMapper<PlaylistItem> {
fn map_item(&mut self, item: YouTubeListItem) { fn map_item(&mut self, item: YouTubeListItem) {
match item { match item {
YouTubeListItem::PlaylistRenderer(playlist) => { YouTubeListItem::PlaylistRenderer(playlist) => {
self.items.push(self.map_playlist(playlist)) self.items.push(Self::map_playlist(playlist))
} }
YouTubeListItem::ContinuationItemRenderer { YouTubeListItem::ContinuationItemRenderer {
continuation_endpoint, continuation_endpoint,

View file

@ -174,13 +174,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 1 year ago"), publish_date_txt: Some("Streamed 1 year ago"),
view_count: Some(28847), view_count: Some(28847),
@ -215,13 +209,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(24182), view_count: Some(24182),
@ -256,13 +244,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(23565), view_count: Some(23565),
@ -297,13 +279,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(25015), view_count: Some(25015),
@ -338,13 +314,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(8752), view_count: Some(8752),
@ -379,13 +349,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(9189), view_count: Some(9189),
@ -420,13 +384,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(17241), view_count: Some(17241),
@ -461,13 +419,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(47171), view_count: Some(47171),
@ -502,13 +454,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 3 years ago"), publish_date_txt: Some("Streamed 3 years ago"),
view_count: Some(23998), view_count: Some(23998),
@ -543,13 +489,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 4 years ago"), publish_date_txt: Some("Streamed 4 years ago"),
view_count: Some(36880), view_count: Some(36880),
@ -584,13 +524,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 4 years ago"), publish_date_txt: Some("Streamed 4 years ago"),
view_count: Some(49061), view_count: Some(49061),
@ -625,13 +559,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 4 years ago"), publish_date_txt: Some("Streamed 4 years ago"),
view_count: Some(13210), view_count: Some(13210),
@ -666,13 +594,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 4 years ago"), publish_date_txt: Some("Streamed 4 years ago"),
view_count: Some(37927), view_count: Some(37927),
@ -707,13 +629,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 5 years ago"), publish_date_txt: Some("Streamed 5 years ago"),
view_count: Some(18865), view_count: Some(18865),
@ -748,13 +664,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 5 years ago"), publish_date_txt: Some("Streamed 5 years ago"),
view_count: Some(72807), view_count: Some(72807),
@ -789,13 +699,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 5 years ago"), publish_date_txt: Some("Streamed 5 years ago"),
view_count: Some(61173), view_count: Some(61173),
@ -830,13 +734,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(13529), view_count: Some(13529),
@ -871,13 +769,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(6536), view_count: Some(6536),
@ -912,13 +804,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(14472), view_count: Some(14472),
@ -953,13 +839,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(21240), view_count: Some(21240),
@ -994,13 +874,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(30840), view_count: Some(30840),
@ -1035,13 +909,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(34258), view_count: Some(34258),
@ -1076,13 +944,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(26864), view_count: Some(26864),
@ -1117,13 +979,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 6 years ago"), publish_date_txt: Some("Streamed 6 years ago"),
view_count: Some(10757), view_count: Some(10757),
@ -1158,13 +1014,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 7 years ago"), publish_date_txt: Some("Streamed 7 years ago"),
view_count: Some(21599), view_count: Some(21599),
@ -1199,13 +1049,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 7 years ago"), publish_date_txt: Some("Streamed 7 years ago"),
view_count: Some(23010), view_count: Some(23010),
@ -1240,13 +1084,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 7 years ago"), publish_date_txt: Some("Streamed 7 years ago"),
view_count: Some(24056), view_count: Some(24056),
@ -1281,13 +1119,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 7 years ago"), publish_date_txt: Some("Streamed 7 years ago"),
view_count: Some(41211), view_count: Some(41211),
@ -1322,13 +1154,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 8 years ago"), publish_date_txt: Some("Streamed 8 years ago"),
view_count: Some(25316), view_count: Some(25316),
@ -1363,13 +1189,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(884000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("Streamed 8 years ago"), publish_date_txt: Some("Streamed 8 years ago"),
view_count: Some(11747), view_count: Some(11747),

View file

@ -158,13 +158,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(2), video_count: Some(2),
), ),
PlaylistItem( PlaylistItem(
@ -177,13 +171,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(1), video_count: Some(1),
), ),
PlaylistItem( PlaylistItem(
@ -196,13 +184,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(9), video_count: Some(9),
), ),
PlaylistItem( PlaylistItem(
@ -215,13 +197,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(2), video_count: Some(2),
), ),
PlaylistItem( PlaylistItem(
@ -234,13 +210,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(4), video_count: Some(4),
), ),
PlaylistItem( PlaylistItem(
@ -253,13 +223,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(18), video_count: Some(18),
), ),
PlaylistItem( PlaylistItem(
@ -272,13 +236,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(3), video_count: Some(3),
), ),
PlaylistItem( PlaylistItem(
@ -291,13 +249,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(8), video_count: Some(8),
), ),
PlaylistItem( PlaylistItem(
@ -310,13 +262,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(13), video_count: Some(13),
), ),
PlaylistItem( PlaylistItem(
@ -329,13 +275,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(9), video_count: Some(9),
), ),
PlaylistItem( PlaylistItem(
@ -348,13 +288,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(7), video_count: Some(7),
), ),
PlaylistItem( PlaylistItem(
@ -367,13 +301,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(3), video_count: Some(3),
), ),
PlaylistItem( PlaylistItem(
@ -386,13 +314,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(8), video_count: Some(8),
), ),
PlaylistItem( PlaylistItem(
@ -405,13 +327,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(2), video_count: Some(2),
), ),
PlaylistItem( PlaylistItem(
@ -424,13 +340,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(3), video_count: Some(3),
), ),
PlaylistItem( PlaylistItem(
@ -443,13 +353,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(10), video_count: Some(10),
), ),
PlaylistItem( PlaylistItem(
@ -462,13 +366,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(1), video_count: Some(1),
), ),
PlaylistItem( PlaylistItem(
@ -481,13 +379,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(9), video_count: Some(9),
), ),
PlaylistItem( PlaylistItem(
@ -500,13 +392,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(16), video_count: Some(16),
), ),
PlaylistItem( PlaylistItem(
@ -519,13 +405,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(7), video_count: Some(7),
), ),
PlaylistItem( PlaylistItem(
@ -538,13 +418,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(6), video_count: Some(6),
), ),
PlaylistItem( PlaylistItem(
@ -557,13 +431,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(12), video_count: Some(12),
), ),
PlaylistItem( PlaylistItem(
@ -576,13 +444,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(1), video_count: Some(1),
), ),
PlaylistItem( PlaylistItem(
@ -595,13 +457,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(5), video_count: Some(5),
), ),
PlaylistItem( PlaylistItem(
@ -614,13 +470,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(2), video_count: Some(2),
), ),
PlaylistItem( PlaylistItem(
@ -633,13 +483,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(4), video_count: Some(4),
), ),
PlaylistItem( PlaylistItem(
@ -652,13 +496,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(1), video_count: Some(1),
), ),
PlaylistItem( PlaylistItem(
@ -671,13 +509,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(2), video_count: Some(2),
), ),
PlaylistItem( PlaylistItem(
@ -690,13 +522,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(9), video_count: Some(9),
), ),
PlaylistItem( PlaylistItem(
@ -709,13 +535,7 @@ Channel(
height: 270, height: 270,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(881000),
)),
video_count: Some(1), video_count: Some(1),
), ),
], ],

View file

@ -130,13 +130,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(593), view_count: Some(593),
@ -156,13 +150,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(141), view_count: Some(141),
@ -182,13 +170,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(652), view_count: Some(652),
@ -208,13 +190,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(795), view_count: Some(795),
@ -234,13 +210,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(17), view_count: Some(17),
@ -260,13 +230,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(1), view_count: Some(1),
@ -286,13 +250,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(15), view_count: Some(15),
@ -312,13 +270,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(26), view_count: Some(26),
@ -338,13 +290,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(864), view_count: Some(864),
@ -364,13 +310,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(21), view_count: Some(21),
@ -390,13 +330,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(1), view_count: Some(1),
@ -416,13 +350,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(45), view_count: Some(45),
@ -442,13 +370,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(18), view_count: Some(18),
@ -468,13 +390,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(16), view_count: Some(16),
@ -494,13 +410,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(13), view_count: Some(13),
@ -520,13 +430,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(34), view_count: Some(34),
@ -546,13 +450,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(13), view_count: Some(13),
@ -572,13 +470,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(756), view_count: Some(756),
@ -598,13 +490,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(13), view_count: Some(13),
@ -624,13 +510,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(39), view_count: Some(39),
@ -650,13 +530,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(18), view_count: Some(18),
@ -676,13 +550,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(31), view_count: Some(31),
@ -702,13 +570,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(17), view_count: Some(17),
@ -728,13 +590,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(18), view_count: Some(18),
@ -754,13 +610,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(18), view_count: Some(18),
@ -780,13 +630,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(11), view_count: Some(11),
@ -806,13 +650,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(31), view_count: Some(31),
@ -832,13 +670,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(688), view_count: Some(688),
@ -858,13 +690,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(19), view_count: Some(19),
@ -884,13 +710,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(1), view_count: Some(1),
@ -910,13 +730,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(64), view_count: Some(64),
@ -936,13 +750,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(16), view_count: Some(16),
@ -962,13 +770,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(27), view_count: Some(27),
@ -988,13 +790,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(25), view_count: Some(25),
@ -1014,13 +810,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(2), view_count: Some(2),
@ -1040,13 +830,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(53), view_count: Some(53),
@ -1066,13 +850,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(2), view_count: Some(2),
@ -1092,13 +870,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(91), view_count: Some(91),
@ -1118,13 +890,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(26), view_count: Some(26),
@ -1144,13 +910,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(65), view_count: Some(65),
@ -1170,13 +930,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(22), view_count: Some(22),
@ -1196,13 +950,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(66), view_count: Some(66),
@ -1222,13 +970,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(39), view_count: Some(39),
@ -1248,13 +990,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(978), view_count: Some(978),
@ -1274,13 +1010,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(45), view_count: Some(45),
@ -1300,13 +1030,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(21), view_count: Some(21),
@ -1326,13 +1050,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(4), view_count: Some(4),
@ -1352,13 +1070,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2980000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(63), view_count: Some(63),

View file

@ -145,13 +145,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("9 hours ago"), publish_date_txt: Some("9 hours ago"),
view_count: Some(142423), view_count: Some(142423),
@ -186,13 +180,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 days ago"), publish_date_txt: Some("7 days ago"),
view_count: Some(989763), view_count: Some(989763),
@ -227,13 +215,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(355470), view_count: Some(355470),
@ -268,13 +250,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(697188), view_count: Some(697188),
@ -309,13 +285,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 weeks ago"), publish_date_txt: Some("4 weeks ago"),
view_count: Some(529586), view_count: Some(529586),
@ -350,13 +320,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(1066729), view_count: Some(1066729),
@ -391,13 +355,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(525663), view_count: Some(525663),
@ -432,13 +390,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(717806), view_count: Some(717806),
@ -473,13 +425,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(624673), view_count: Some(624673),
@ -514,13 +460,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(924135), view_count: Some(924135),
@ -555,13 +495,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(1053353), view_count: Some(1053353),
@ -596,13 +530,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(697242), view_count: Some(697242),
@ -637,13 +565,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(1086097), view_count: Some(1086097),
@ -678,13 +600,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(528979), view_count: Some(528979),
@ -719,13 +635,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(1036890), view_count: Some(1036890),
@ -760,13 +670,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(832542), view_count: Some(832542),
@ -801,13 +705,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(1342882), view_count: Some(1342882),
@ -842,13 +740,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(1076848), view_count: Some(1076848),
@ -883,13 +775,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: Some(562349), view_count: Some(562349),
@ -924,13 +810,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(531938), view_count: Some(531938),
@ -965,13 +845,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(426469), view_count: Some(426469),
@ -1006,13 +880,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(448915), view_count: Some(448915),
@ -1047,13 +915,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(675443), view_count: Some(675443),
@ -1088,13 +950,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(426465), view_count: Some(426465),
@ -1129,13 +985,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(1137831), view_count: Some(1137831),
@ -1170,13 +1020,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(612275), view_count: Some(612275),
@ -1211,13 +1055,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(396397), view_count: Some(396397),
@ -1252,13 +1090,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(599030), view_count: Some(599030),
@ -1293,13 +1125,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(530192), view_count: Some(530192),
@ -1334,13 +1160,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2930000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("8 months ago"), publish_date_txt: Some("8 months ago"),
view_count: Some(567604), view_count: Some(567604),

View file

@ -174,13 +174,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 day ago"), publish_date_txt: Some("1 day ago"),
view_count: Some(8813), view_count: Some(8813),
@ -215,13 +209,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 days ago"), publish_date_txt: Some("6 days ago"),
view_count: Some(48599), view_count: Some(48599),
@ -256,13 +244,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("10 days ago"), publish_date_txt: Some("10 days ago"),
view_count: Some(74126), view_count: Some(74126),
@ -297,13 +279,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 days ago"), publish_date_txt: Some("11 days ago"),
view_count: Some(36129), view_count: Some(36129),
@ -338,13 +314,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(87357), view_count: Some(87357),
@ -379,13 +349,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(48259), view_count: Some(48259),
@ -420,13 +384,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(27509), view_count: Some(27509),
@ -461,13 +419,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(57925), view_count: Some(57925),
@ -502,13 +454,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(77907), view_count: Some(77907),
@ -543,13 +489,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(63421), view_count: Some(63421),
@ -584,13 +524,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(73052), view_count: Some(73052),
@ -625,13 +559,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(93529), view_count: Some(93529),
@ -666,13 +594,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(41569), view_count: Some(41569),
@ -707,13 +629,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(22842), view_count: Some(22842),
@ -748,13 +664,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(41621), view_count: Some(41621),
@ -789,13 +699,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(77542), view_count: Some(77542),
@ -830,13 +734,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(34947), view_count: Some(34947),
@ -871,13 +769,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(45618), view_count: Some(45618),
@ -912,13 +804,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(34868), view_count: Some(34868),
@ -953,13 +839,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(64336), view_count: Some(64336),
@ -994,13 +874,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(150958), view_count: Some(150958),
@ -1035,13 +909,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(30903), view_count: Some(30903),
@ -1076,13 +944,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(48669), view_count: Some(48669),
@ -1117,13 +979,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(83505), view_count: Some(83505),
@ -1158,13 +1014,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(42843), view_count: Some(42843),
@ -1199,13 +1049,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(26036), view_count: Some(26036),
@ -1240,13 +1084,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(63729), view_count: Some(63729),
@ -1281,13 +1119,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(22920), view_count: Some(22920),
@ -1322,13 +1154,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(66042), view_count: Some(66042),
@ -1363,13 +1189,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(883000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(52065), view_count: Some(52065),

View file

@ -174,13 +174,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("20 hours ago"), publish_date_txt: Some("20 hours ago"),
view_count: Some(19739), view_count: Some(19739),
@ -215,13 +209,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 days ago"), publish_date_txt: Some("5 days ago"),
view_count: Some(24194), view_count: Some(24194),
@ -256,13 +244,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 days ago"), publish_date_txt: Some("7 days ago"),
view_count: Some(51443), view_count: Some(51443),
@ -297,13 +279,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("13 days ago"), publish_date_txt: Some("13 days ago"),
view_count: Some(72324), view_count: Some(72324),
@ -338,13 +314,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(57348), view_count: Some(57348),
@ -379,13 +349,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(68645), view_count: Some(68645),
@ -420,13 +384,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(91388), view_count: Some(91388),
@ -461,13 +419,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(39993), view_count: Some(39993),
@ -502,13 +454,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 weeks ago"), publish_date_txt: Some("4 weeks ago"),
view_count: Some(22512), view_count: Some(22512),
@ -543,13 +489,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(40137), view_count: Some(40137),
@ -584,13 +524,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(74510), view_count: Some(74510),
@ -625,13 +559,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(34487), view_count: Some(34487),
@ -666,13 +594,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(44928), view_count: Some(44928),
@ -707,13 +629,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(34324), view_count: Some(34324),
@ -748,13 +664,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(63763), view_count: Some(63763),
@ -789,13 +699,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(149186), view_count: Some(149186),
@ -830,13 +734,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(30130), view_count: Some(30130),
@ -871,13 +769,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(48037), view_count: Some(48037),
@ -912,13 +804,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(81958), view_count: Some(81958),
@ -953,13 +839,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(42635), view_count: Some(42635),
@ -994,13 +874,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(25860), view_count: Some(25860),
@ -1035,13 +909,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(63035), view_count: Some(63035),
@ -1076,13 +944,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(22731), view_count: Some(22731),
@ -1117,13 +979,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(65765), view_count: Some(65765),
@ -1158,13 +1014,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(51555), view_count: Some(51555),
@ -1199,13 +1049,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(46638), view_count: Some(46638),
@ -1240,13 +1084,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(62921), view_count: Some(62921),
@ -1281,13 +1119,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(66895), view_count: Some(66895),
@ -1322,13 +1154,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(25894), view_count: Some(25894),
@ -1363,13 +1189,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UC2DjFE7Xf11URZqWBigcVOQ",
name: "EEVblog",
avatar: [],
verification: Verified,
subscriber_count: Some(880000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(80173), view_count: Some(80173),

View file

@ -158,13 +158,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(94), view_count: Some(94),
@ -199,13 +193,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(381), view_count: Some(381),
@ -240,13 +228,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: Some(241528), view_count: Some(241528),
@ -281,13 +263,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: Some(118351), view_count: Some(118351),
@ -322,13 +298,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: Some(157971), view_count: Some(157971),
@ -363,13 +333,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 year ago"), publish_date_txt: Some("1 year ago"),
view_count: Some(82309), view_count: Some(82309),
@ -404,13 +368,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(2043), view_count: Some(2043),
@ -445,13 +403,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(186475), view_count: Some(186475),
@ -486,13 +438,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(66425), view_count: Some(66425),
@ -527,13 +473,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(1520020), view_count: Some(1520020),
@ -568,13 +508,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(37549), view_count: Some(37549),
@ -609,13 +543,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(33002), view_count: Some(33002),
@ -650,13 +578,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(42036), view_count: Some(42036),
@ -691,13 +613,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(322935), view_count: Some(322935),
@ -732,13 +648,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(91980), view_count: Some(91980),
@ -773,13 +683,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: None, publish_date_txt: None,
view_count: Some(4030), view_count: Some(4030),
@ -814,13 +718,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(288098), view_count: Some(288098),
@ -855,13 +753,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(50818), view_count: Some(50818),
@ -896,13 +788,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 years ago"), publish_date_txt: Some("2 years ago"),
view_count: Some(98431), view_count: Some(98431),
@ -937,13 +823,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: Some(572456), view_count: Some(572456),
@ -978,13 +858,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UChs0pSaEoNLV4mevBFGaoKA",
name: "The Good Life Radio x Sensual Musique",
avatar: [],
verification: Verified,
subscriber_count: Some(760000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 years ago"), publish_date_txt: Some("3 years ago"),
view_count: Some(3114909), view_count: Some(3114909),

View file

@ -130,13 +130,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 day ago"), publish_date_txt: Some("1 day ago"),
view_count: Some(443549), view_count: Some(443549),
@ -156,13 +150,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 days ago"), publish_date_txt: Some("2 days ago"),
view_count: Some(1154962), view_count: Some(1154962),
@ -197,13 +185,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 days ago"), publish_date_txt: Some("3 days ago"),
view_count: Some(477460), view_count: Some(477460),
@ -223,13 +205,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 days ago"), publish_date_txt: Some("6 days ago"),
view_count: Some(1388173), view_count: Some(1388173),
@ -249,13 +225,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 days ago"), publish_date_txt: Some("7 days ago"),
view_count: Some(1738301), view_count: Some(1738301),
@ -275,13 +245,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("9 days ago"), publish_date_txt: Some("9 days ago"),
view_count: Some(1316594), view_count: Some(1316594),
@ -316,13 +280,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("10 days ago"), publish_date_txt: Some("10 days ago"),
view_count: Some(478703), view_count: Some(478703),
@ -342,13 +300,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("11 days ago"), publish_date_txt: Some("11 days ago"),
view_count: Some(1412213), view_count: Some(1412213),
@ -368,13 +320,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("13 days ago"), publish_date_txt: Some("13 days ago"),
view_count: Some(1513305), view_count: Some(1513305),
@ -394,13 +340,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(8936223), view_count: Some(8936223),
@ -435,13 +375,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(987083), view_count: Some(987083),
@ -461,13 +395,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 weeks ago"), publish_date_txt: Some("2 weeks ago"),
view_count: Some(2769717), view_count: Some(2769717),
@ -502,13 +430,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(497660), view_count: Some(497660),
@ -528,13 +450,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(572107), view_count: Some(572107),
@ -554,13 +470,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(1707132), view_count: Some(1707132),
@ -580,13 +490,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(933094), view_count: Some(933094),
@ -606,13 +510,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(5985184), view_count: Some(5985184),
@ -632,13 +530,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(14741387), view_count: Some(14741387),
@ -658,13 +550,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(2511322), view_count: Some(2511322),
@ -684,13 +570,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(2364408), view_count: Some(2364408),
@ -725,13 +605,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(706059), view_count: Some(706059),
@ -751,13 +625,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(1947627), view_count: Some(1947627),
@ -777,13 +645,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(4763839), view_count: Some(4763839),
@ -803,13 +665,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(1915695), view_count: Some(1915695),
@ -829,13 +685,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(7268944), view_count: Some(7268944),
@ -855,13 +705,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(2539103), view_count: Some(2539103),
@ -881,13 +725,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(5545680), view_count: Some(5545680),
@ -907,13 +745,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(2202314), view_count: Some(2202314),
@ -948,13 +780,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(613416), view_count: Some(613416),
@ -974,13 +800,7 @@ Channel(
height: 720, height: 720,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCh8gHdtzO2tXd593_bjErWg",
name: "Doobydobap",
avatar: [],
verification: Verified,
subscriber_count: Some(2840000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(6443699), view_count: Some(6443699),

View file

@ -162,13 +162,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: Some("2022-09-27T16:00:00Z"), publish_date: Some("2022-09-27T16:00:00Z"),
publish_date_txt: None, publish_date_txt: None,
view_count: Some(237), view_count: Some(237),
@ -203,13 +197,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("13 days ago"), publish_date_txt: Some("13 days ago"),
view_count: Some(742284), view_count: Some(742284),
@ -244,13 +232,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(420368), view_count: Some(420368),
@ -285,13 +267,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 weeks ago"), publish_date_txt: Some("3 weeks ago"),
view_count: Some(528718), view_count: Some(528718),
@ -326,13 +302,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(897237), view_count: Some(897237),
@ -367,13 +337,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(526638), view_count: Some(526638),
@ -408,13 +372,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(368801), view_count: Some(368801),
@ -449,13 +407,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(286737), view_count: Some(286737),
@ -490,13 +442,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("1 month ago"), publish_date_txt: Some("1 month ago"),
view_count: Some(664499), view_count: Some(664499),
@ -531,13 +477,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(592227), view_count: Some(592227),
@ -572,13 +512,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(396946), view_count: Some(396946),
@ -613,13 +547,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("2 months ago"), publish_date_txt: Some("2 months ago"),
view_count: Some(778430), view_count: Some(778430),
@ -654,13 +582,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(2118499), view_count: Some(2118499),
@ -695,13 +617,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(525824), view_count: Some(525824),
@ -736,13 +652,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("3 months ago"), publish_date_txt: Some("3 months ago"),
view_count: Some(1097056), view_count: Some(1097056),
@ -777,13 +687,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(1532114), view_count: Some(1532114),
@ -818,13 +722,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(511601), view_count: Some(511601),
@ -859,13 +757,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(662099), view_count: Some(662099),
@ -900,13 +792,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(549826), view_count: Some(549826),
@ -941,13 +827,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("4 months ago"), publish_date_txt: Some("4 months ago"),
view_count: Some(538197), view_count: Some(538197),
@ -982,13 +862,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: Some(536648), view_count: Some(536648),
@ -1023,13 +897,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: Some(724630), view_count: Some(724630),
@ -1064,13 +932,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("5 months ago"), publish_date_txt: Some("5 months ago"),
view_count: Some(426960), view_count: Some(426960),
@ -1105,13 +967,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(735941), view_count: Some(735941),
@ -1146,13 +1002,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(502205), view_count: Some(502205),
@ -1187,13 +1037,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("6 months ago"), publish_date_txt: Some("6 months ago"),
view_count: Some(718668), view_count: Some(718668),
@ -1228,13 +1072,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(775830), view_count: Some(775830),
@ -1269,13 +1107,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(480357), view_count: Some(480357),
@ -1310,13 +1142,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(460878), view_count: Some(460878),
@ -1351,13 +1177,7 @@ Channel(
height: 188, height: 188,
), ),
], ],
channel: Some(ChannelTag( channel: None,
id: "UCcvfHa-GHSOHFAjU0-Ie57A",
name: "Adam Something",
avatar: [],
verification: Verified,
subscriber_count: Some(947000),
)),
publish_date: "[date]", publish_date: "[date]",
publish_date_txt: Some("7 months ago"), publish_date_txt: Some("7 months ago"),
view_count: Some(228151), view_count: Some(228151),

View file

@ -1,64 +0,0 @@
use super::{Channel, ChannelId, ChannelItem, ChannelTag, PlaylistItem, VideoItem, YouTubeItem};
impl TryFrom<YouTubeItem> for VideoItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Video(video) => Ok(video),
_ => Err(()),
}
}
}
impl TryFrom<YouTubeItem> for PlaylistItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Playlist(playlist) => Ok(playlist),
_ => Err(()),
}
}
}
impl TryFrom<YouTubeItem> for ChannelItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Channel(channel) => Ok(channel),
_ => Err(()),
}
}
}
impl<T> From<Channel<T>> for ChannelTag {
fn from(channel: Channel<T>) -> Self {
Self {
id: channel.id,
name: channel.name,
avatar: channel.avatar,
verification: channel.verification,
subscriber_count: channel.subscriber_count,
}
}
}
impl From<ChannelTag> for ChannelId {
fn from(channel: ChannelTag) -> Self {
Self {
id: channel.id,
name: channel.name,
}
}
}
impl<T> From<Channel<T>> for ChannelId {
fn from(channel: Channel<T>) -> Self {
Self {
id: channel.id,
name: channel.name,
}
}
}

View file

@ -1,6 +1,5 @@
//! YouTube API request and response models //! YouTube API request and response models
mod convert;
mod ordering; mod ordering;
mod paginator; mod paginator;
pub mod richtext; pub mod richtext;
@ -851,3 +850,36 @@ pub struct PlaylistItem {
/// Number of playlist videos /// Number of playlist videos
pub video_count: Option<u64>, pub video_count: Option<u64>,
} }
impl TryFrom<YouTubeItem> for VideoItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Video(video) => Ok(video),
_ => Err(()),
}
}
}
impl TryFrom<YouTubeItem> for PlaylistItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Playlist(playlist) => Ok(playlist),
_ => Err(()),
}
}
}
impl TryFrom<YouTubeItem> for ChannelItem {
type Error = ();
fn try_from(value: YouTubeItem) -> Result<Self, Self::Error> {
match value {
YouTubeItem::Channel(channel) => Ok(channel),
_ => Err(()),
}
}
}

View file

@ -2,8 +2,6 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::util;
use super::UrlTarget; use super::UrlTarget;
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
@ -34,6 +32,8 @@ pub trait ToPlaintext {
} }
/// Trait for converting rich text to html. /// Trait for converting rich text to html.
#[cfg(feature = "html")]
#[cfg_attr(docsrs, doc(cfg(feature = "html")))]
pub trait ToHtml { pub trait ToHtml {
/// Convert rich text to html. /// Convert rich text to html.
fn to_html(&self) -> String { fn to_html(&self) -> String {
@ -72,22 +72,26 @@ impl ToPlaintext for TextComponent {
} }
} }
#[cfg(feature = "html")]
#[cfg_attr(docsrs, doc(cfg(feature = "html")))]
impl ToHtml for TextComponent { impl ToHtml for TextComponent {
fn to_html_yt_host(&self, yt_host: &str) -> String { fn to_html_yt_host(&self, yt_host: &str) -> String {
match self { match self {
TextComponent::Text(text) => util::escape_html(text), TextComponent::Text(text) => askama_escape::escape(&text, askama_escape::Html)
.to_string()
.replace("\n", "<br>"),
TextComponent::Web { text, .. } => { TextComponent::Web { text, .. } => {
format!( format!(
r#"<a href="{}" target="_blank" rel="noreferrer">{}</a>"#, r#"<a href="{}" target="_blank" rel="noreferrer">{}</a>"#,
self.get_url(yt_host), self.get_url(yt_host),
util::escape_html(text) askama_escape::escape(text, askama_escape::Html)
) )
} }
_ => { _ => {
format!( format!(
r#"<a href="{}">{}</a>"#, r#"<a href="{}">{}</a>"#,
self.get_url(yt_host), self.get_url(yt_host),
util::escape_html(self.get_text()) askama_escape::escape(self.get_text(), askama_escape::Html)
) )
} }
} }
@ -103,6 +107,8 @@ impl ToPlaintext for RichText {
} }
} }
#[cfg(feature = "html")]
#[cfg_attr(docsrs, doc(cfg(feature = "html")))]
impl ToHtml for RichText { impl ToHtml for RichText {
fn to_html_yt_host(&self, yt_host: &str) -> String { fn to_html_yt_host(&self, yt_host: &str) -> String {
self.0.iter().map(|c| c.to_html_yt_host(yt_host)).collect() self.0.iter().map(|c| c.to_html_yt_host(yt_host)).collect()
@ -180,6 +186,7 @@ aespa 에스파 'Black Mamba' MV ℗ SM Entertainment"#
); );
} }
#[cfg(feature = "html")]
#[test] #[test]
fn t_to_html() { fn t_to_html() {
let richtext = RichText::from(TEXT_SOURCE.clone()); let richtext = RichText::from(TEXT_SOURCE.clone());

View file

@ -312,24 +312,6 @@ where
.ok() .ok()
} }
/// Replace all html control characters to make a string safe for inserting into HTML.
pub fn escape_html(input: &str) -> String {
let mut buf = String::with_capacity(input.len());
for c in input.chars() {
match c {
'<' => buf.push_str("&lt;"),
'>' => buf.push_str("&gt;"),
'&' => buf.push_str("&amp;"),
'"' => buf.push_str("&quot;"),
'\'' => buf.push_str("&#x27;"),
'\n' => buf.push_str("<br>"),
_ => buf.push(c),
};
}
buf
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use std::{fs::File, io::BufReader, path::Path}; use std::{fs::File, io::BufReader, path::Path};

View file

@ -1,7 +1,7 @@
use std::collections::HashSet; use std::collections::HashSet;
use rstest::rstest; use rstest::rstest;
use time::macros::date; use time::macros::{date, datetime};
use time::OffsetDateTime; use time::OffsetDateTime;
use rustypipe::client::{ClientType, RustyPipe}; use rustypipe::client::{ClientType, RustyPipe};
@ -1138,7 +1138,6 @@ async fn channel_not_found(#[case] id: &str) {
#[cfg(feature = "rss")] #[cfg(feature = "rss")]
mod channel_rss { mod channel_rss {
use super::*; use super::*;
use time::macros::datetime;
#[tokio::test] #[tokio::test]
async fn get_channel_rss() { async fn get_channel_rss() {