30 lines
795 B
Rust
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);
|
|
}
|
|
}
|