Only use async for getting data from Anilist
This commit is contained in:
parent
adc02b3d03
commit
7732bce38b
|
@ -724,7 +724,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rss-anime-notifier-rs"
|
name = "rss-anime-notifier-rs"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rss-anime-notifier-rs"
|
name = "rss-anime-notifier-rs"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
authors = ["blank X <theblankx@protonmail.com>"]
|
authors = ["blank X <theblankx@protonmail.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|
40
src/main.rs
40
src/main.rs
|
@ -72,7 +72,22 @@ struct AiringSchedule {
|
||||||
pub episode: i32
|
pub episode: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn async_main() {
|
async fn get_data(anime_id: i32) -> Root {
|
||||||
|
let client = Client::new();
|
||||||
|
let json = json!({"query": QUERY, "variables": {"id": anime_id}});
|
||||||
|
serde_json::from_str(&client.post("https://graphql.anilist.co/")
|
||||||
|
.header("Content-Type", "application/json")
|
||||||
|
.header("Accept", "application/json")
|
||||||
|
.body(json.to_string())
|
||||||
|
.send()
|
||||||
|
.await
|
||||||
|
.unwrap()
|
||||||
|
.text()
|
||||||
|
.await
|
||||||
|
.unwrap()).unwrap()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
let mut args = env::args();
|
let mut args = env::args();
|
||||||
let path = args.next().expect("Cannot get binary path");
|
let path = args.next().expect("Cannot get binary path");
|
||||||
let path = Path::new(&path).file_stem().unwrap().to_str().unwrap();
|
let path = Path::new(&path).file_stem().unwrap().to_str().unwrap();
|
||||||
|
@ -83,16 +98,11 @@ async fn async_main() {
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let client = Client::new();
|
let resp = tokio::runtime::Builder::new_current_thread()
|
||||||
let json = json!({"query": QUERY, "variables": {"id": anime_id}});
|
.enable_all()
|
||||||
let resp = client.post("https://graphql.anilist.co/")
|
.build()
|
||||||
.header("Content-Type", "application/json")
|
.unwrap()
|
||||||
.header("Accept", "application/json")
|
.block_on(get_data(anime_id));
|
||||||
.body(json.to_string())
|
|
||||||
.send()
|
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
let resp: Root = serde_json::from_str(&resp.text().await.unwrap()).unwrap();
|
|
||||||
let mut pub_date = Utc::now().to_rfc2822();
|
let mut pub_date = Utc::now().to_rfc2822();
|
||||||
let mut last_build_date = pub_date.clone();
|
let mut last_build_date = pub_date.clone();
|
||||||
let resp = &resp.data.media;
|
let resp = &resp.data.media;
|
||||||
|
@ -130,11 +140,3 @@ async fn async_main() {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
println!("{}", channel.to_string());
|
println!("{}", channel.to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
|
||||||
tokio::runtime::Builder::new_current_thread()
|
|
||||||
.enable_all()
|
|
||||||
.build()
|
|
||||||
.unwrap()
|
|
||||||
.block_on(async_main());
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue