diff --git a/src/managers/aur.rs b/src/managers/aur.rs index 97f1be7..292846c 100644 --- a/src/managers/aur.rs +++ b/src/managers/aur.rs @@ -2,11 +2,11 @@ use crate::Value; use crate::utils::request_url; pub fn main(args: &Vec) { - struct Package { - name: String, - dependancies: Vec, - parent: String, - } + // struct Package { + // name: String, + // dependancies: Vec, + // parent: String, + // } // Check length of arguments let args_length = args.len(); @@ -26,11 +26,27 @@ pub fn main(args: &Vec) { println!("package {} found", &package); // Get dependancies as a weird value type - let results_vector: &Vec = package_info_decoded["results"].as_array().unwrap(); - let deps: &Vec = results_vector[0]["Depends"].as_array().unwrap(); + let mut dependancy_vec: Vec = get_depedancies(package_info_decoded); + dbg!(&dependancy_vec); + + let mut previous_dep_vec_length: usize = &dependancy_vec.len(); + let mut current_dep_vec_length: usize = 0; + + while &previous_dep_vec_length != ¤t_dep_vec_length { + for dependancy_index in &dependancy_vec.len() { + let dependancy: String = dependancy_vec[dependancy_index]; + } + } } else { // If there are no results - println!("No such package") + println!("No such package"); + } + + fn get_depedancies(package_info_decoded: Value) -> Vec { + let results_vector: &Vec = package_info_decoded["results"].as_array().unwrap(); + let deps: &Vec = results_vector[0]["Depends"].as_array().unwrap(); + let deps_string: Vec = get_deps_as_string(deps); + return deps_string; } fn make_url(package: &str) -> String {