feat: switch from if else to match case for handling args

This commit is contained in:
newbee1905
2023-02-01 22:31:43 +07:00
parent f435f290ac
commit 652548057b

View File

@@ -20,13 +20,10 @@ fn main() {
let mut provider: String = "gogo".to_string(); let mut provider: String = "gogo".to_string();
let mut cast = (false, "0".to_string()); let mut cast = (false, "0".to_string());
for arg in std::env::args() { for arg in std::env::args() {
if arg == "--help" || arg == "-h" { match &*arg {
help = true; "--help" | "-h" => help = true,
} "--anime" | "-a" => anime = true,
if arg == "--anime" || arg == "-a" { "--provider" | "-r" => {
anime = true;
}
if arg == "--provider" || arg == "-r" {
if let Some(arg) = std::env::args().nth(count + 1) { if let Some(arg) = std::env::args().nth(count + 1) {
//get the next argument and see if it is = to gogo of vrv //get the next argument and see if it is = to gogo of vrv
if arg == "vrv" { if arg == "vrv" {
@@ -42,24 +39,23 @@ fn main() {
provider = "vrv".to_string(); provider = "vrv".to_string();
} }
} }
if arg == "--cast" || arg == "-C" { "--cast" | "-C" => {
if let Some(arg) = std::env::args().nth(count + 1) { if let Some(arg) = std::env::args().nth(count + 1) {
cast = (true, String::from(arg)) cast = (true, String::from(arg))
} else { } else {
println!("{}", "please provide a ip address".red()) println!("{}", "please provide a ip address".red())
} }
} }
"--ln" | "-l" => ln = true,
if arg == "--ln" || arg == "-l" { "--chapter" | "-c" => {
ln = true;
}
if arg == "--chapter" || arg == "-c" {
if let Some(arg) = std::env::args().nth(count + 1) { if let Some(arg) = std::env::args().nth(count + 1) {
chapter = arg.parse::<u32>().unwrap(); chapter = arg.parse::<u32>().unwrap();
} else { } else {
chapter = 0; chapter = 0;
} }
} }
&_ => {}
}
count += 1; count += 1;
} }