1pub mod youtube;
2
3use crate::analyzer;
4use crate::error::BlobResult;
5
6pub(crate) fn generate_command(url: &str, download_option: &analyzer::DownloadOption) -> BlobResult<(std::process::Command, youtube::config::DownloadConfig)> {
11 let unchecked_config = match download_option {
13 analyzer::DownloadOption::YtPlaylist => youtube::yt_playlist::assemble_data(url),
14
15 analyzer::DownloadOption::YtVideo(id) => youtube::yt_video::assemble_data(url, *id)
16 };
17
18 match unchecked_config {
19 Ok(safe) => {
20 let (command, local_config) = safe.build_command();
22 Ok((command, local_config))
23 }
24 Err(err) => Err(err)
26 }
27}