pub mod args; pub mod commands; pub mod meta; pub mod types; pub mod utils; use args::{CLIArgs, Commands}; use clap::Parser; use commands::copy::copy_command; use commands::genhtml::genhtml_command; use commands::get_tags::get_tags_command; use commands::process::process_command; use commands::set_tags::set_tags_command; use commands::transcode::transcode_command; fn main() -> Result<(), Box> { let cli = CLIArgs::parse(); let command = cli.command.to_owned(); match command { Commands::Process(process_args) => { return process_command(cli, &process_args); } Commands::Genhtml(genhtml_args) => { return genhtml_command(cli, &genhtml_args); } Commands::Transcode(transcode_args) => { return transcode_command(cli, &transcode_args); } Commands::Copy(copy_args) => { return copy_command(cli, ©_args); } Commands::SetTags(set_tags_args) => { return set_tags_command(cli, &set_tags_args); } Commands::GetTags(get_tags_args) => { return get_tags_command(cli, &get_tags_args); } } }