diff --git a/src/main.rs b/src/main.rs
index a909d50..c6cf7fb 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -200,7 +200,7 @@ async fn async_main() {
eprintln!("Failed to get video data: {:?}", err);
waited = true;
if let structs::Error::YoutubeDL(ref err) = err {
- let output = err.output.to_lowercase();
+ let output = err.stderr.to_lowercase();
if output.contains("429")
|| output.contains("too many request")
|| output.contains("technical difficult")
@@ -210,12 +210,12 @@ async fn async_main() {
*guard += 1;
continue;
} else if err
- .output
+ .stderr
.starts_with("ERROR: autoytarchivers:")
{
drop(guard);
let time: u64 = err
- .output
+ .stderr
.splitn(5, &[':', ' '][..])
.nth(3)
.unwrap()
diff --git a/src/structs.rs b/src/structs.rs
index 68a5800..80ab90c 100644
--- a/src/structs.rs
+++ b/src/structs.rs
@@ -45,7 +45,8 @@ pub struct VideoData {
#[derive(Debug)]
pub struct YoutubeDLError {
pub status: ExitStatus,
- pub output: String,
+ pub stdout: String,
+ pub stderr: String,
}
#[derive(Debug)]
diff --git a/src/utils.rs b/src/utils.rs
index a66499c..f55735d 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -6,7 +6,7 @@ use rand::{thread_rng, Rng};
use reqwest::Client;
use std::io::Cursor;
use std::process::Stdio;
-use tokio::io::{copy_buf, AsyncWriteExt, BufReader};
+use tokio::io::AsyncWriteExt;
use tokio::process::Command;
use tokio::time::{sleep, Duration};
extern crate grammers_client;
@@ -39,7 +39,7 @@ def try_get(src, getter, expected_type=None):
youtube_dl.extractor.youtube.try_get = try_get
ytdl = youtube_dl.YoutubeDL({"skip_download": True, "no_color": True, "quiet": True})
try:
- print(json.dumps(ytdl.extract_info("https://www.youtube.com/watch?v=" + sys.argv[1]), indent=4), file=sys.stderr)
+ print(json.dumps(ytdl.extract_info("https://www.youtube.com/watch?v=" + sys.argv[1]), indent=4))
except Exception as e:
sys.exit(str(e))"#;
@@ -120,6 +120,7 @@ pub async fn get_video(video_id: &str) -> Result