From b6a57c5cad1ee7df56dad5ccb2317f936e682bbe Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sun, 15 Jun 2025 18:27:19 +0200 Subject: fix(yt/update/video_entry_to_video): Cast the json objects Otherwise, we might encounter very weird behaviour if yt_dlp ever changes the types of these keys. --- crates/yt/src/update/mod.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'crates') diff --git a/crates/yt/src/update/mod.rs b/crates/yt/src/update/mod.rs index a25c233..36c8c81 100644 --- a/crates/yt/src/update/mod.rs +++ b/crates/yt/src/update/mod.rs @@ -147,13 +147,15 @@ pub fn video_entry_to_video(entry: &InfoJson, sub: Option<&Subscription>) -> Res let subscription_name = if let Some(sub) = sub { Some(sub.name.clone()) - } else if let Some(uploader) = entry.get("uploader") { - if entry.get("webpage_url_domain") - == Some(&serde_json::Value::String("youtube.com".to_owned())) + } else if let Some(uploader) = entry.get("uploader").map(|val| json_cast!(val, as_str)) { + if entry + .get("webpage_url_domain") + .map(|val| json_cast!(val, as_str)) + == Some("youtube.com") { Some(format!("{uploader} - Videos")) } else { - Some(json_cast!(uploader, as_str).to_owned()) + Some(uploader.to_owned()) } } else { None -- cgit 1.4.1