nhentairs/src/commands/search.rs

30 lines
795 B
Rust

use crate::utils;
use std::env;
use std::process::exit;
extern crate reqwest;
pub async fn run(args: env::Args) {
let mut query = String::new();
for arg in args {
query.push_str(&format!(" {}", arg));
}
let query = query.trim();
if query.is_empty() {
eprintln!("Missing search query");
exit(1);
}
let search_info = utils::get_search_info(reqwest::Client::new(), &query).await.unwrap();
if search_info.num_pages < 1 {
eprintln!("No results found");
exit(1);
}
for result in search_info.result {
let mut title = &result.title.english.unwrap_or_default();
if title == "" {
title = &result.title.japanese.as_ref().unwrap();
}
println!("{}: {}", result.id, &title);
}
}