From 8385b87c63677f32a240679a78702f53072e517a Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Thu, 6 Feb 2025 01:41:48 +0100 Subject: [PATCH] feat: check rustypipe-botguard-api version --- src/client/mod.rs | 18 ++++++++++++++---- tests/youtube.rs | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/client/mod.rs b/src/client/mod.rs index 3d7ab9f..dfb5140 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -725,11 +725,21 @@ impl RustyPipeBuilder { .arg("--version") .output() .ok()?; - if out.status.success() { - Some(n) - } else { - None + if !out.status.success() { + return None; } + let output = String::from_utf8_lossy(&out.stdout); + let pat = "rustypipe-botguard-api "; + let pos = output.find(pat)? + pat.len(); + let pos_end = output[pos..] + .char_indices() + .find(|(_, c)| !c.is_ascii_digit()) + .map(|(p, _)| p + pos) + .unwrap_or(output.len()); + if &output[pos..pos_end] != "1" { + return None; + } + Some(n) }); Ok(RustyPipe { diff --git a/tests/youtube.rs b/tests/youtube.rs index b5a8074..140770a 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -2136,7 +2136,7 @@ async fn music_search_artists(rp: RustyPipe, unlocalized: bool) { #[rstest] #[tokio::test] async fn music_search_artists_cont(rp: RustyPipe) { - let res = rp.query().music_search_artists("band").await.unwrap(); + let res = rp.query().music_search_artists("boys").await.unwrap(); assert_eq!(res.corrected_query, None); assert_next(res.items, rp.query(), 15, 2, true).await;