about summary refs log tree commit diff stats
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-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)