ytdl now works quite reliably, but...

We still need to handle all errors and possibly handle edge cases of
playlists and non urls better. The UI needs a lot of work too, but
this is a good start of the feature.
This commit is contained in:
Chris Cochrun 2023-04-22 07:17:03 -05:00
parent 666c22ae66
commit 67d7f960ed

View file

@ -35,18 +35,19 @@ mod ytdl {
data_dir.push("librepresenter"); data_dir.push("librepresenter");
data_dir.push("ytdl"); data_dir.push("ytdl");
if !data_dir.exists() { if !data_dir.exists() {
fs::create_dir(&data_dir); fs::create_dir(&data_dir).expect("Could not create ytdl dir");
} }
println!("{:?}", data_dir); println!("{:?}", data_dir);
}
self.as_mut().set_loading(true); self.as_mut().set_loading(true);
let thread = self.qt_thread(); let thread = self.qt_thread();
thread::spawn(move || { thread::spawn(move || {
let url = url.to_string(); let url = url.to_string();
let output_dirs = "/home/chris/Videos/"; let output_dirs = data_dir.to_str().unwrap();
println!("{output_dirs}");
let ytdl = YoutubeDl::new(url) let ytdl = YoutubeDl::new(url)
.socket_timeout("15") .socket_timeout("15")
.output_directory(output_dirs) .output_directory(output_dirs)
.output_template("%(title)s.%(ext)s")
.download(true) .download(true)
.run() .run()
.unwrap(); .unwrap();
@ -63,6 +64,9 @@ mod ytdl {
}) })
}); });
true true
} else {
false
}
} }
} }
} }