33 lines
775 B
Rust
33 lines
775 B
Rust
pub mod parser;
|
|
pub mod version;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let args: Vec<String> = std::env::args().collect();
|
|
if args.len() < 2 {
|
|
println!("Invalid arguments provided");
|
|
std::process::exit(-1);
|
|
}
|
|
|
|
if version::contains_version(&args) {
|
|
version::print_version();
|
|
std::process::exit(-1);
|
|
}
|
|
|
|
let filepath = &args[1];
|
|
println!("Filepath: {filepath:?}");
|
|
let prsr = parser::NumberParser {
|
|
filepath: filepath.clone(),
|
|
};
|
|
|
|
match prsr.file_dump().await {
|
|
Ok(contacts) => {
|
|
prsr.print_phone_numbers(&contacts);
|
|
prsr.save_file(contacts, parser::DEFAULT_OUTPUT_FILE).await;
|
|
}
|
|
Err(err) => {
|
|
eprintln!("Error: {err:?}");
|
|
}
|
|
};
|
|
}
|