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:
parent
666c22ae66
commit
67d7f960ed
1 changed files with 29 additions and 25 deletions
|
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue