is now able to remove packages from the database

i18n
axtlos 3 years ago
parent bdbb06d6cf
commit 6fd0a468fa

@ -17,3 +17,4 @@ moins = "*"
regex = "*"
toml_edit = "*"
toml = "*"
bytes = "*"

@ -14,7 +14,7 @@ use mods::{
upgrade::upgrade,
ver::ver,
xargs::*,
database::addPkg
database::{addPkg, remPkg}
};
use std::{env, process::exit, process::Command};
@ -44,6 +44,8 @@ fn main() {
update();
} else if oper == "-db" {
addPkg(pkgs);
} else if oper == "-remdb" {
remPkg(pkgs);
} else if oper == "-Ss" || oper == "sea" {
r_search(&args[2]);
a_search(&args[2]);

@ -1,13 +1,32 @@
use regex::bytes;
use toml_edit::{Document, value};
use std::io::{Read, Write};
use std::io::{Read, Write, Error};
use std::fs::File;
pub fn remPkg(pkgs: Vec<String>) {
let file = format!("{}/.local/ame/aurPkgs.db", std::env::var("HOME").unwrap());
let mut database = std::fs::read_to_string(&file).expect("cant open database");
pub fn addPkg(pkgs: Vec<String>) {
let mut updateDatabase = database;
for i in pkgs {
let results = raur::search(&i);
for res in &results {
let databaseEntry = format!("{} = {{ name = \"{}\", version = \"{}\"}}\n",&i, &res[0].name, &res[0].version);
updateDatabase = format!("{}",updateDatabase.replace(&databaseEntry, ""));
}
}
let fileAsPath = File::create(std::path::Path::new(&file)).unwrap();
write!(&fileAsPath, "{}", updateDatabase);
}
pub fn addPkg(pkgs: Vec<String>) -> Result<(), Error> {
let file = format!("{}/.local/ame/aurPkgs.db", std::env::var("HOME").unwrap());
let database = std::fs::read_to_string(&file).expect("cant open new configuration");
let database = std::fs::read_to_string(&file).expect("cant open database");
let mut fileAsPath = File::create(std::path::Path::new(&file))?;
let mut dbParsed = database.parse::<Document>().expect("invalid Database");
for i in pkgs {
for i in pkgs {
let results = raur::search(&i);
for res in &results {
for r in res {
@ -17,4 +36,6 @@ pub fn addPkg(pkgs: Vec<String>) {
}
}
print!("{}",dbParsed);
fileAsPath.write_all(format!("{}",dbParsed).as_bytes()).unwrap();
Ok(())
}
Loading…
Cancel
Save