use clap::Parser;
#[derive(Parser)]
#[command(name = "iptocc", version, about, arg_required_else_help = true)]
struct Cli {
#[arg(required = true)]
addresses: Vec<String>,
}
fn main() {
let cli = Cli::parse();
if cli.addresses.len() == 1 {
match iptocc::country_code(&cli.addresses[0]) {
Some(cc) => println!("{cc}"),
None => std::process::exit(1),
}
return;
}
let results = iptocc::country_codes(&cli.addresses);
for (addr, result) in cli.addresses.iter().zip(results.iter()) {
match result {
Some(cc) => println!("{addr} {cc}"),
None => println!("{addr} -"),
}
}
}