Remove utils::human_sauce_info
This commit is contained in:
parent
cf9adfd203
commit
9e43a5818d
|
@ -421,7 +421,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "nhentairs"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
dependencies = [
|
||||
"reqwest",
|
||||
"serde",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "nhentairs"
|
||||
version = "0.5.0"
|
||||
version = "0.5.1"
|
||||
authors = ["blank X <theblankx@protonmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ pub async fn run(args: env::Args) {
|
|||
let base_path = sauce_info.id.to_string();
|
||||
let base_path = Path::new(&base_path);
|
||||
match create_dir(base_path) {
|
||||
Ok(()) => write(base_path.join("info.txt"), format!("{}\n", utils::human_sauce_info(&sauce_info))).unwrap(),
|
||||
Ok(()) => write(base_path.join("info.txt"), format!("{}\n", &sauce_info)).unwrap(),
|
||||
Err(err) => match err.kind() {
|
||||
std::io::ErrorKind::AlreadyExists => (),
|
||||
_ => panic!("Got a weird error while creating dir: {}", err)
|
||||
|
|
|
@ -30,7 +30,7 @@ pub async fn run(args: env::Args) {
|
|||
if one_done {
|
||||
println!("");
|
||||
}
|
||||
println!("{}", utils::human_sauce_info(&sauce_info));
|
||||
println!("{}", &sauce_info);
|
||||
},
|
||||
structs::GalleryInfo::Error(sauce_error) => {
|
||||
if one_done {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
use std::fmt;
|
||||
use std::marker::PhantomData;
|
||||
use std::collections::BTreeMap;
|
||||
use serde::de::{self, Visitor};
|
||||
use serde::{Deserialize, Deserializer};
|
||||
|
||||
|
@ -66,6 +67,44 @@ pub struct SearchInfo {
|
|||
pub per_page: i32
|
||||
}
|
||||
|
||||
impl fmt::Display for GalleryInfoSuccess {
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
let mut text = format!("Sauce: {}\nTitle: ", self.id);
|
||||
let japanese_title = self.title.japanese.as_ref();
|
||||
let english_title = self.title.english.as_ref();
|
||||
if english_title.is_some() {
|
||||
text.push_str(english_title.unwrap());
|
||||
if japanese_title.is_some() {
|
||||
text.push_str(&format!("\nJapanese Title: {}", japanese_title.unwrap()));
|
||||
}
|
||||
} else {
|
||||
text.push_str(japanese_title.unwrap());
|
||||
}
|
||||
let mut tag_hashmap = BTreeMap::new();
|
||||
for tag_info in &self.tags {
|
||||
let tag_key = tag_info.r#type.as_str();
|
||||
let tag_value = tag_info.name.as_str();
|
||||
let tag_vec = tag_hashmap.entry(tag_key).or_insert(Vec::new());
|
||||
tag_vec.push(tag_value);
|
||||
}
|
||||
for (tag_key, tag_value) in tag_hashmap {
|
||||
let tag_key = match tag_key {
|
||||
"tag" => "Tags",
|
||||
"artist" => "Artists",
|
||||
"parody" => "Parodies",
|
||||
"character" => "Characters",
|
||||
"group" => "Groups",
|
||||
"language" => "Languages",
|
||||
"category" => "Categories",
|
||||
_ => tag_key
|
||||
};
|
||||
text.push_str(&format!("\n{}: {}", tag_key, tag_value.join(", ")));
|
||||
}
|
||||
text.push_str(&format!("\nPages: {}\nFavorites: {}", self.num_pages, self.num_favorites));
|
||||
formatter.write_str(&text)
|
||||
}
|
||||
}
|
||||
|
||||
fn convert_to_i32<'de, D>(deserializer: D) -> Result<i32, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>
|
||||
|
|
37
src/utils.rs
37
src/utils.rs
|
@ -4,7 +4,6 @@ use std::env;
|
|||
use std::fs::File;
|
||||
use std::io::Write;
|
||||
use tokio::stream::StreamExt;
|
||||
use std::collections::BTreeMap;
|
||||
extern crate serde_json;
|
||||
extern crate reqwest;
|
||||
|
||||
|
@ -53,39 +52,3 @@ pub fn get_arg_sauces(args: env::Args) -> Result<Vec<i32>, String> {
|
|||
}
|
||||
Ok(sauces)
|
||||
}
|
||||
|
||||
pub fn human_sauce_info(sauce_info: &structs::GalleryInfoSuccess) -> String {
|
||||
let mut text = format!("Sauce: {}\nTitle: ", sauce_info.id);
|
||||
let japanese_title = sauce_info.title.japanese.as_ref();
|
||||
let english_title = sauce_info.title.english.as_ref();
|
||||
if english_title.is_some() {
|
||||
text.push_str(english_title.unwrap());
|
||||
if japanese_title.is_some() {
|
||||
text.push_str(&format!("\nJapanese Title: {}", japanese_title.unwrap()));
|
||||
}
|
||||
} else {
|
||||
text.push_str(japanese_title.unwrap());
|
||||
}
|
||||
let mut tag_hashmap = BTreeMap::new();
|
||||
for tag_info in &sauce_info.tags {
|
||||
let tag_key = tag_info.r#type.as_str();
|
||||
let tag_value = tag_info.name.as_str();
|
||||
let tag_vec = tag_hashmap.entry(tag_key).or_insert(Vec::new());
|
||||
tag_vec.push(tag_value);
|
||||
}
|
||||
for (tag_key, tag_value) in tag_hashmap {
|
||||
let tag_key = match tag_key {
|
||||
"tag" => "Tags",
|
||||
"artist" => "Artists",
|
||||
"parody" => "Parodies",
|
||||
"character" => "Characters",
|
||||
"group" => "Groups",
|
||||
"language" => "Languages",
|
||||
"category" => "Categories",
|
||||
_ => tag_key
|
||||
};
|
||||
text.push_str(&format!("\n{}: {}", tag_key, tag_value.join(", ")));
|
||||
}
|
||||
text.push_str(&format!("\nPages: {}\nFavorites: {}", sauce_info.num_pages, sauce_info.num_favorites));
|
||||
text
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue