Use i32 instead of usize
This commit is contained in:
parent
b4d07aa1ae
commit
829e8ad36c
|
@ -42,7 +42,7 @@ pub async fn run(args: env::Args) {
|
||||||
_ => panic!("Got a weird error while creating dir: {}", err)
|
_ => panic!("Got a weird error while creating dir: {}", err)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let mut page_num: usize = 1;
|
let mut page_num: i32 = 1;
|
||||||
for page in sauce_info.images.pages {
|
for page in sauce_info.images.pages {
|
||||||
let file_ext = match page.t.as_str() {
|
let file_ext = match page.t.as_str() {
|
||||||
"j" => ".jpg",
|
"j" => ".jpg",
|
||||||
|
|
|
@ -16,7 +16,7 @@ pub async fn run(args: env::Args) {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
let client = reqwest::Client::new();
|
let client = reqwest::Client::new();
|
||||||
let mut handles: Vec<JoinHandle<(structs::GalleryInfo, usize)>> = Vec::with_capacity(sauces.len());
|
let mut handles: Vec<JoinHandle<(structs::GalleryInfo, i32)>> = Vec::with_capacity(sauces.len());
|
||||||
for sauce in sauces {
|
for sauce in sauces {
|
||||||
let cloned_client = client.clone();
|
let cloned_client = client.clone();
|
||||||
handles.push(tokio::spawn(async move {
|
handles.push(tokio::spawn(async move {
|
||||||
|
|
|
@ -10,8 +10,8 @@ pub struct GalleryTitleInfo {
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
pub struct GalleryImageInfo {
|
pub struct GalleryImageInfo {
|
||||||
pub t: String,
|
pub t: String,
|
||||||
pub w: usize,
|
pub w: i32,
|
||||||
pub h: usize
|
pub h: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
|
@ -23,24 +23,24 @@ pub struct GalleryImagesInfo {
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
pub struct GalleryTagInfo {
|
pub struct GalleryTagInfo {
|
||||||
pub id: usize,
|
pub id: i32,
|
||||||
pub r#type: String,
|
pub r#type: String,
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub url: String,
|
pub url: String,
|
||||||
pub count: usize
|
pub count: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
pub struct GalleryInfoSuccess {
|
pub struct GalleryInfoSuccess {
|
||||||
pub id: usize,
|
pub id: i32,
|
||||||
pub media_id: String,
|
pub media_id: String,
|
||||||
pub title: GalleryTitleInfo,
|
pub title: GalleryTitleInfo,
|
||||||
pub images: GalleryImagesInfo,
|
pub images: GalleryImagesInfo,
|
||||||
pub scanlator: String,
|
pub scanlator: String,
|
||||||
pub upload_date: usize,
|
pub upload_date: i32,
|
||||||
pub tags: Vec<GalleryTagInfo>,
|
pub tags: Vec<GalleryTagInfo>,
|
||||||
pub num_pages: usize,
|
pub num_pages: i32,
|
||||||
pub num_favorites: usize
|
pub num_favorites: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
|
@ -58,6 +58,6 @@ pub enum GalleryInfo {
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
pub struct SearchInfo {
|
pub struct SearchInfo {
|
||||||
pub result: Vec<GalleryInfoSuccess>,
|
pub result: Vec<GalleryInfoSuccess>,
|
||||||
pub num_pages: usize,
|
pub num_pages: i32,
|
||||||
pub per_page: usize
|
pub per_page: i32
|
||||||
}
|
}
|
||||||
|
|
10
src/utils.rs
10
src/utils.rs
|
@ -11,13 +11,13 @@ extern crate reqwest;
|
||||||
fn fix_gallery(body: &mut serde_json::Value) -> Result<(), serde_json::Error> {
|
fn fix_gallery(body: &mut serde_json::Value) -> Result<(), serde_json::Error> {
|
||||||
if body["id"].is_string() {
|
if body["id"].is_string() {
|
||||||
body["id"] = serde_json::json!(
|
body["id"] = serde_json::json!(
|
||||||
body["id"].as_str().unwrap().parse::<usize>().unwrap()
|
body["id"].as_str().unwrap().parse::<i32>().unwrap()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_sauce_info(client: reqwest::Client, sauce: usize) -> Result<structs::GalleryInfo, reqwest::Error> {
|
pub async fn get_sauce_info(client: reqwest::Client, sauce: i32) -> Result<structs::GalleryInfo, reqwest::Error> {
|
||||||
let mut uri = String::from("https://nhentai.net/api/gallery/");
|
let mut uri = String::from("https://nhentai.net/api/gallery/");
|
||||||
uri.push_str(&sauce.to_string());
|
uri.push_str(&sauce.to_string());
|
||||||
let resp = client.get(&uri)
|
let resp = client.get(&uri)
|
||||||
|
@ -56,10 +56,10 @@ pub async fn download_file(client: reqwest::Client, url: &str, file_name: &str)
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_arg_sauces(args: env::Args) -> Result<Vec<usize>, String> {
|
pub fn get_arg_sauces(args: env::Args) -> Result<Vec<i32>, String> {
|
||||||
let mut sauces: Vec<usize> = Vec::new();
|
let mut sauces: Vec<i32> = Vec::new();
|
||||||
for sauce in args {
|
for sauce in args {
|
||||||
let sauce: usize = match sauce.parse() {
|
let sauce: i32 = match sauce.parse() {
|
||||||
Ok(sauce) => sauce,
|
Ok(sauce) => sauce,
|
||||||
Err(_) => {
|
Err(_) => {
|
||||||
return Err(format!("{} is not a number/sauce", sauce));
|
return Err(format!("{} is not a number/sauce", sauce));
|
||||||
|
|
Loading…
Reference in New Issue