added code to get the arch rpc json and write it into variable

i18n
axtloss 3 years ago
parent 47d62c4dc6
commit 6bf6b67190

@ -9,4 +9,6 @@ edition = "2018"
git2 = "*"
serde_json = "*"
ureq = "*"
json = "*"
json = "*"
cargo = "*"
curl = "*"

@ -3,26 +3,22 @@ use json;
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
use std::env;
use curl::easy::Easy;
use std::io::{stdout, Write};
pub fn search(pkg: &str) {
let homedir = env::home_dir();
match homedir {
Some(homedirr) => println!("{}",homedirr.display()),
None => panic!("could not read home dir")
}
Command::new("pacman").arg("-Ss").arg(&pkg).spawn();
let search_path = Path::new("/Users/ali/search.json"); //TODO: make it use a relative path to the search
let display = search_path.display();
let url = format!("https://aur.archlinux.org/rpc/?v=5&type=search&arg={}",&pkg);
let mut easy = Easy::new();
easy.url(&url).unwrap();
easy.write_function(|data| {
stdout().write_all(data).unwrap();
Ok(data.len())
}).unwrap();
easy.perform().unwrap();
let mut searchfile = match File::open(&search_path) {
Err(why) => panic!("couldnt read {}: {}", display, why),
Ok(searchfile) => searchfile,
};
let output = easy.response_code().unwrap();
println!("{}", output);
let mut content = String::new();
match searchfile.read_to_string(&mut content) {
Err(why) => panic!("Couldnt read {}: {}", display, why),
Ok(_) => print!("{}", content),
};
Command::new("pacman").arg("-Ss").arg(&pkg).spawn().expect("Failed to run pacman");
}

@ -0,0 +1,11 @@
--2021-07-21 16:26:17-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:26:18 (487 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:26:27-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:26:27 (399 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:28:31-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:28:32 (337 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:28:46-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:28:46 (258 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:39:47-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:39:47 (292 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:39:55-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:39:55 (548 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 16:56:52-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 16:56:52 (231 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 17:06:39-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 17:06:39 (258 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]

@ -0,0 +1,11 @@
--2021-07-21 17:07:54-- https://aur.archlinux.org/rpc/?v=5&type=search&arg=neofetch
Resolving aur.archlinux.org (aur.archlinux.org)... 2a01:4f9:c010:50::1, 95.216.144.15
Connecting to aur.archlinux.org (aur.archlinux.org)|2a01:4f9:c010:50::1|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: /Users/ali/.cache/ame/search.json
/Users/ali/.cache/ame/search.json [<=> ] 0 --.-KB/s /Users/ali/.cache/ame/search.json [ <=> ] 4.49K --.-KB/s in 0s
2021-07-21 17:07:55 (487 MB/s) - /Users/ali/.cache/ame/search.json saved [4600]
Loading…
Cancel
Save