From e6b44d8dbfe5cf152c96e285215e4296694dd785 Mon Sep 17 00:00:00 2001 From: blank X Date: Fri, 25 Jun 2021 16:43:05 +0700 Subject: [PATCH] Handle "technical difficulties" --- src/main.rs | 9 ++++----- src/utils.rs | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main.rs b/src/main.rs index d406b36..c5463f7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -195,11 +195,10 @@ async fn async_main() { eprintln!("Failed to get video data: {:?}", err); waited = true; if let structs::Error::YoutubeDL(ref err) = err { - if err.output.contains("429") - || err - .output - .to_lowercase() - .contains("too many request") + let output = err.output.to_lowercase(); + if output.contains("429") + || output.contains("too many request") + || output.contains("technical difficult") { sleep(Duration::from_secs(i * 60 * 60)).await; i += 1; diff --git a/src/utils.rs b/src/utils.rs index 6767435..a66499c 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -170,8 +170,10 @@ pub async fn get_video_retry( Err(err) => { eprintln!("Failed to get video data: {:?}", err); if let Error::YoutubeDL(ref err) = err { - if err.output.contains("429") - || err.output.to_lowercase().contains("too many requests") + let output = err.output.to_lowercase(); + if output.contains("429") + || output.contains("too many requests") + || output.contains("technical difficult") { sleep(Duration::from_secs(i * 60 * 60)).await; continue;