use crate::analyzer;
use crate::parser;
use crate::assembling;
use crate::error::BlobResult;
use crate::run;
pub fn dispatch(config: &parser::CliConfig) -> BlobResult<()> {
let download_option = analyzer::analyze_url(config.url());
let mut command_and_config = assembling::generate_command(config.url(), &download_option?)? ;
if config.show_command() {
println!("Command generated by blob-dl: {:?}", command_and_config.0);
}
run::run_and_observe(&mut command_and_config.0, &command_and_config.1, config.verbosity());
Ok(())
}