aboutsummaryrefslogtreecommitdiffstats
path: root/crates
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 /crates
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
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)