nhentairs/src/commands.rs

39 lines
1.0 KiB
Rust
Raw Normal View History

2020-09-12 12:26:07 +00:00
mod download;
2023-10-28 02:09:17 +00:00
mod related;
2023-10-28 00:11:16 +00:00
mod search;
mod view;
2020-09-12 12:26:07 +00:00
use std::env;
use std::path::Path;
use std::process::exit;
pub async fn run() {
let mut args = env::args();
let path = args.next().expect("Cannot get binary path");
let path = Path::new(&path).file_stem().unwrap().to_str().unwrap();
let operation = match args.next() {
2023-10-28 00:11:16 +00:00
Some(operation) => operation,
None => {
eprintln!("Missing operation, run `{} help`", path);
exit(1);
}
2020-09-12 12:26:07 +00:00
};
match operation.as_str() {
"search" => search::run(args).await,
"view" | "show" | "info" => view::run(args).await,
2023-10-28 02:09:17 +00:00
"related" => related::run(args).await,
2020-09-12 12:26:07 +00:00
"download" | "dl" => download::run(args).await,
2023-10-28 00:11:16 +00:00
"help" => println!(
2023-10-28 02:09:17 +00:00
r#"Usage: {} search <query>
or {} info/view/show <sauce>...
or {} related <sauce>...
or {} download/dl <sauce>..."#,
path, path, path, path
2023-10-28 00:11:16 +00:00
),
2020-09-12 12:26:07 +00:00
_ => {
eprintln!("Unknown operation, run `{} help`", path);
exit(1)
}
};
}