mirror of
https://github.com/mrfluffy-dev/kami.git
synced 2026-01-17 12:50:32 +00:00
feat: Setting up clap
This commit is contained in:
146
src/main.rs
146
src/main.rs
@@ -4,11 +4,9 @@ mod ln;
|
|||||||
mod ui;
|
mod ui;
|
||||||
|
|
||||||
use anime::anime::anime_ui;
|
use anime::anime::anime_ui;
|
||||||
use colored::Colorize;
|
|
||||||
//use ln::ui::ln_ui;
|
|
||||||
use ln::ln::ln_ui;
|
use ln::ln::ln_ui;
|
||||||
|
|
||||||
use crate::anime::{player::*, scraper::*, trackers::*};
|
use crate::anime::trackers::*;
|
||||||
use crate::get_token;
|
use crate::get_token;
|
||||||
use crate::helpers::take_input::{int_input, string_input};
|
use crate::helpers::take_input::{int_input, string_input};
|
||||||
|
|
||||||
@@ -40,155 +38,33 @@ struct Args {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut help = false;
|
let mut args = Args::parse();
|
||||||
let mut anime = false;
|
|
||||||
let mut ln = false;
|
|
||||||
let mut chapter: u32 = 0;
|
|
||||||
//let search = option string
|
|
||||||
let mut count = 0;
|
|
||||||
let mut provider: String = "gogo".to_string();
|
|
||||||
let mut reader: String = "bat".to_string();
|
|
||||||
let mut cast = (false, "0".to_string());
|
|
||||||
for arg in std::env::args() {
|
|
||||||
match &*arg {
|
|
||||||
"--help" | "-h" => help = true,
|
|
||||||
"--anime" | "-a" => anime = true,
|
|
||||||
"--provider" | "-r" => {
|
|
||||||
if let Some(arg) = std::env::args().nth(count + 1) {
|
|
||||||
//get the next argument and see if it is = to gogo of vrv
|
|
||||||
match arg.as_str() {
|
|
||||||
"zoro" | "gogoanime" => {
|
|
||||||
provider = arg;
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
&_ => provider = "gogoanime".to_string(),
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
provider = "zoro".to_string();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"--reader" | "-R" => {
|
|
||||||
if let Some(arg) = std::env::args().nth(count + 1) {
|
|
||||||
//get the next argument and see if it is = to gogo of vrv
|
|
||||||
match arg.as_str() {
|
|
||||||
"bat" | "glow" => {
|
|
||||||
reader = arg;
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
&_ => reader = "bat".to_string(),
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
if args.anime == false && args.ln == false {
|
||||||
provider = "glow".to_string();
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
provider = "gogo".to_string();
|
|
||||||
|
|
||||||
}
|
|
||||||
"--cast" | "-C" => {
|
|
||||||
if let Some(arg) = std::env::args().nth(count + 1) {
|
|
||||||
cast = (true, String::from(arg))
|
|
||||||
} else {
|
|
||||||
println!("{}", "please provide a ip address".red())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"--ln" | "-l" => ln = true,
|
|
||||||
"--chapter" | "-c" => {
|
|
||||||
if let Some(arg) = std::env::args().nth(count + 1) {
|
|
||||||
chapter = arg.parse::<u32>().unwrap();
|
|
||||||
} else {
|
|
||||||
chapter = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&_ => {}
|
|
||||||
}
|
|
||||||
|
|
||||||
count += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if help == true {
|
|
||||||
print_help();
|
|
||||||
}
|
|
||||||
if anime == false && ln == false {
|
|
||||||
println!("1: Anime");
|
println!("1: Anime");
|
||||||
println!("2: Light Novel");
|
println!("2: Light Novel");
|
||||||
|
|
||||||
let a = int_input("pick your poison: ");
|
let a = int_input("pick your poison: ");
|
||||||
match a {
|
match a {
|
||||||
1 => anime = true,
|
1 => args.anime = true,
|
||||||
2 => ln = true,
|
2 => args.ln = true,
|
||||||
_ => println!("invalid option. "),
|
_ => println!("invalid option. "),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if anime == true && ln == true {
|
if args.anime == true && args.ln == true {
|
||||||
println!("you can only use one of the arguments at a time");
|
println!("you can only use one of the arguments at a time");
|
||||||
std::process::exit(0);
|
std::process::exit(0);
|
||||||
}
|
}
|
||||||
if ln == true {
|
|
||||||
|
if args.ln == true {
|
||||||
//ln_read(&search, chapter);
|
//ln_read(&search, chapter);
|
||||||
_ = ln_ui(chapter, reader);
|
_ = ln_ui(args.chapter, args.reader);
|
||||||
} else if anime == true {
|
} else if args.anime == true {
|
||||||
//anime_stream(search, episode, resume);
|
//anime_stream(search, episode, resume);
|
||||||
|
|
||||||
let token = get_token();
|
let token = get_token();
|
||||||
_ = anime_ui(token, provider, cast);
|
_ = anime_ui(token, args.provider, (args.cast == "0", args.cast));
|
||||||
} else {
|
} else {
|
||||||
println!("Invalid argument");
|
println!("Invalid argument");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_help() {
|
|
||||||
println!("anime:\t\t{}", format_args!("{}", "-a --anime".red()));
|
|
||||||
//print blank line
|
|
||||||
println!("");
|
|
||||||
println!(
|
|
||||||
"cast:\t\t{}",
|
|
||||||
format_args!("{} {}", "-C --cast".red(), "<IP Adress>".green())
|
|
||||||
);
|
|
||||||
println!("");
|
|
||||||
println!("light novel:\t{}", format_args!("{}", "-l --ln".red()));
|
|
||||||
//print blank line
|
|
||||||
println!("");
|
|
||||||
println!("chapter:\t{}", format_args!("{}", "-c --chapter".red()));
|
|
||||||
println!(
|
|
||||||
"{}",
|
|
||||||
"after this^^^ argument you can enter a chapter number".green()
|
|
||||||
);
|
|
||||||
println!("{}", "for exaple kami -c 200");
|
|
||||||
//print blank line
|
|
||||||
println!("");
|
|
||||||
println!("provider:\t{}", format_args!("{}", "-r --provider".red()));
|
|
||||||
println!(
|
|
||||||
"{}",
|
|
||||||
"after this^^^ argument you can enter a provider".green()
|
|
||||||
);
|
|
||||||
println!(
|
|
||||||
"if no provider is entered it will default to {}",
|
|
||||||
"gogo".green()
|
|
||||||
);
|
|
||||||
println!(
|
|
||||||
"if the -r argument is not used it will default to {}",
|
|
||||||
"zoro".green()
|
|
||||||
);
|
|
||||||
println!("the providers are {} or {}", "gogoanime".green(), "zoro".green());
|
|
||||||
println!("");
|
|
||||||
println!("reader:\t\t{}", format_args!("{}", "-R --reader".red()));
|
|
||||||
println!(
|
|
||||||
"{}",
|
|
||||||
"after this^^^ argument you can enter a reader".green()
|
|
||||||
);
|
|
||||||
println!(
|
|
||||||
"if no reader is entered it will default to {}",
|
|
||||||
"bat".green()
|
|
||||||
);
|
|
||||||
println!(
|
|
||||||
"if the -R argument is not used it will default to {}",
|
|
||||||
"bat".green()
|
|
||||||
);
|
|
||||||
println!("the readers are {} or {}", "bat".green(), "glow".green());
|
|
||||||
println!("");
|
|
||||||
println!("help:\t\t{}", format_args!("{}", "-h --help".red()));
|
|
||||||
//kill the program
|
|
||||||
std::process::exit(0);
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user