diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-28 17:06:43 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-28 17:06:43 +0200 |
commit | 2cee35477e4e4e2b3b6aeb094217e0419bdcaed4 (patch) | |
tree | 29f773b6f7d7be77dfd7ced042eeb1accda398a2 | |
parent | build(nix/package): Update the git hashes after the update (diff) | |
download | yt-2cee35477e4e4e2b3b6aeb094217e0419bdcaed4.zip |
fix(yt/{subscribe,storage/subscriptions}): Fix more instances of the capitalize Playlist type
-rw-r--r-- | crates/yt/src/storage/subscriptions.rs | 6 | ||||
-rw-r--r-- | crates/yt/src/subscribe/mod.rs | 4 |
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) |