about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-28 17:06:43 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-28 17:06:43 +0200
commit2cee35477e4e4e2b3b6aeb094217e0419bdcaed4 (patch)
tree29f773b6f7d7be77dfd7ced042eeb1accda398a2
parentbuild(nix/package): Update the git hashes after the update (diff)
downloadyt-2cee35477e4e4e2b3b6aeb094217e0419bdcaed4.zip
fix(yt/{subscribe,storage/subscriptions}): Fix more instances of the capitalize Playlist type
-rw-r--r--crates/yt/src/storage/subscriptions.rs6
-rw-r--r--crates/yt/src/subscribe/mod.rs4
2 files changed, 5 insertions, 5 deletions
diff --git a/crates/yt/src/storage/subscriptions.rs b/crates/yt/src/storage/subscriptions.rs
index 1ab0d72..0e8ae85 100644
--- a/crates/yt/src/storage/subscriptions.rs
+++ b/crates/yt/src/storage/subscriptions.rs
@@ -17,7 +17,7 @@ use anyhow::Result;
 use log::debug;
 use sqlx::query;
 use url::Url;
-use yt_dlp::options::YoutubeDLOptions;
+use yt_dlp::{json_cast, options::YoutubeDLOptions};
 
 use crate::{app::App, unreachable::Unreachable};
 
@@ -48,9 +48,9 @@ pub async fn check_url(url: Url) -> Result<bool> {
 
     let info = yt_dlp.extract_info(&url, false, false)?;
 
-    debug!("{:#?}", info);
+    debug!("{info:#?}");
 
-    Ok(info.get("_type") == Some(&serde_json::Value::String("Playlist".to_owned())))
+    Ok(info.get("_type").map(|v| json_cast!(v, as_str)) == Some("playlist"))
 }
 
 #[derive(Default, Debug)]
diff --git a/crates/yt/src/subscribe/mod.rs b/crates/yt/src/subscribe/mod.rs
index a965ac0..ad074fb 100644
--- a/crates/yt/src/subscribe/mod.rs
+++ b/crates/yt/src/subscribe/mod.rs
@@ -16,7 +16,7 @@ use futures::FutureExt;
 use log::warn;
 use tokio::io::{AsyncBufRead, AsyncBufReadExt};
 use url::Url;
-use yt_dlp::{json_get, options::YoutubeDLOptions};
+use yt_dlp::{json_cast, json_get, options::YoutubeDLOptions};
 
 use crate::{
     app::App,
@@ -157,7 +157,7 @@ async fn actual_subscribe(app: &App, name: Option<String>, url: Url) -> Result<(
 
         let info = yt_dlp.extract_info(&url, false, false)?;
 
-        if info.get("_type") == Some(&serde_json::Value::String("Playlist".to_owned())) {
+        if info.get("_type").map(|v| json_cast!(v, as_str)) == Some("playlist") {
             json_get!(info, "title", as_str).to_owned()
         } else {
             bail!("The url ('{}') does not represent a playlist!", &url)