made it main handle args better

This commit is contained in:
Zastian Pretorius
2022-07-18 13:29:38 +01:00
parent 874e6272f3
commit 059f078caa

View File

@@ -16,22 +16,33 @@ mod helpers;
mod ln;
fn main() {
let mut _arg = String::new();
if std::env::args().len() > 1 {
_arg = std::env::args().nth(1).unwrap();
} else {
println!("anime:\t\t{}", format_args!("{}", "a".red()));
println!("light novel:\t{}", format_args!("{}", "l".red()));
println!(
"you can add the name of the anime you want to watch after the {} argument",
format_args!("{}", "a".red())
);
//kill the program
let mut help = false;
let mut anime = false;
let mut ln = false;
for arg in std::env::args() {
if arg == "--help" || arg == "-h" {
help = true;
}
if arg == "--anime" || arg == "-a" {
anime = true;
}
if arg == "--ln" || arg == "-l" {
ln = true;
}
}
if help == true{
print_help();
}
if anime == false && ln == false {
print_help();
}
if anime == true && ln == true {
println!("you can only use one of the arguments at a time");
std::process::exit(0);
}
if _arg == "l" {
if ln == true {
ln_read();
} else if _arg == "a" {
} else if anime == true {
anime_stream(true)
} else {
println!("Invalid argument");
@@ -41,3 +52,15 @@ fn main() {
fn page_selector(ln_id: &str, selected_page: u32) -> String {
get_ln_next_page(ln_id, &selected_page.to_string())
}
fn print_help(){
println!("anime:\t\t{}", format_args!("{}", "-a --anime".red()));
println!("light novel:\t{}", format_args!("{}", "-l --ln".red()));
println!(
"you can add the name of the anime you want to watch after the {} argument",
format_args!("{}", "-a --anime".red())
);
println!("help:\t\t{}", format_args!("{}", "-h --help".red()));
//kill the program
std::process::exit(0);
}