i18n
parent
d442a542a7
commit
07d0aa7fa3
@ -1,80 +0,0 @@
|
|||||||
|
|
||||||
mod mods;
|
|
||||||
use mods::{clearcache::clearcache, clone::clone, help::help, install::install, inssort::inssort, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, update::update, ver::ver, strs::inf, strs::err_unrec, strs::err_rec, xargs::*, database::addPkg};
|
|
||||||
use std::{env, process::exit, process::Command};
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
// let statements
|
|
||||||
let args: Vec<String> = env::args().collect();
|
|
||||||
let mut pkgs: Vec<String> = env::args().skip(2).collect();
|
|
||||||
|
|
||||||
// args catch
|
|
||||||
if args.len() <= 1 {
|
|
||||||
help();
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
let oper = &args[1];
|
|
||||||
let noconfirm: bool = noconf(&args);
|
|
||||||
|
|
||||||
argssort(&mut pkgs);
|
|
||||||
|
|
||||||
// install
|
|
||||||
if oper == "-S" || oper == "-Sn" || oper == "ins" {
|
|
||||||
inssort(noconfirm, pkgs);
|
|
||||||
|
|
||||||
// remove
|
|
||||||
} else if oper == "-R" || oper == "-Rn " || oper == "-Rsn" || oper == "-Rs" || oper == "rm" {
|
|
||||||
uninstall(noconfirm, pkgs);
|
|
||||||
|
|
||||||
// upgrade
|
|
||||||
} else if oper == "-Syu" || oper == "-Syun" || oper == "upg" {
|
|
||||||
upgrade(noconfirm);
|
|
||||||
|
|
||||||
// update
|
|
||||||
} else if oper == "-Sy" || oper == "upd" {
|
|
||||||
update();
|
|
||||||
} else if oper == "-db" {
|
|
||||||
addPkg(pkgs);
|
|
||||||
// general search
|
|
||||||
} else if oper == "-Ss" || oper == "sea" {
|
|
||||||
r_search(&args[2]);
|
|
||||||
a_search(&args[2]);
|
|
||||||
|
|
||||||
// aur search
|
|
||||||
} else if oper == "-Sa" || oper == "aursea" {
|
|
||||||
a_search(&args[2]);
|
|
||||||
|
|
||||||
// repo search
|
|
||||||
} else if oper == "-Sr" || oper == "repsea" {
|
|
||||||
r_search(&args[2]);
|
|
||||||
|
|
||||||
// clear cache !! DEBUG ONLY !! DO NOT DO THIS IF YOU DONT KNOW WHAT YOURE DOING !!
|
|
||||||
} else if oper == "-Cc" || oper == "clr" {
|
|
||||||
clearcache();
|
|
||||||
|
|
||||||
// version / contrib
|
|
||||||
} else if oper == "-v" || oper == "-V" || oper == "ver" {
|
|
||||||
ver();
|
|
||||||
|
|
||||||
// help
|
|
||||||
} else if oper == "-h" || oper == "help" {
|
|
||||||
help();
|
|
||||||
// pacman passthrough
|
|
||||||
} else {
|
|
||||||
let pass = Command::new("pacman")
|
|
||||||
.args(env::args().skip(1))
|
|
||||||
.status()
|
|
||||||
.expect("Something has gone wrong.");
|
|
||||||
|
|
||||||
match pass.code() {
|
|
||||||
Some(1) => {
|
|
||||||
err_rec(format!("No such operation \"{}\"", args.join(" ")));
|
|
||||||
inf(format!("Try running \"ame help\" for an overview of how to use ame"))
|
|
||||||
}
|
|
||||||
Some(_) => {}
|
|
||||||
None => {
|
|
||||||
err_unrec(format!("Something has gone terribly wrong."))
|
|
||||||
}}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
use regex::bytes;
|
|
||||||
use toml_edit::{Document, value};
|
|
||||||
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");
|
|
||||||
|
|
||||||
let mut updateDatabase = database;
|
|
||||||
for i in pkgs {
|
|
||||||
if updateDatabase.contains(i) {
|
|
||||||
let results = raur::search(&i);
|
|
||||||
for res in &results {
|
|
||||||
let databaseEntry = format!("{} = {{ name = \"{}\", version = \"{}\"}}\n",&res[0].name, &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(fromRepo: bool, pkg: &str) -> 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 database");
|
|
||||||
let mut fileAsPath = File::create(std::path::Path::new(&file))?;
|
|
||||||
|
|
||||||
let mut dbParsed = database.parse::<Document>().expect("invalid Database");
|
|
||||||
if fromRepo == false {
|
|
||||||
let results = raur::search(&pkg);
|
|
||||||
for res in &results {
|
|
||||||
for r in res {
|
|
||||||
dbParsed[&r.name]["name"] = value(&r.name);
|
|
||||||
dbParsed[&r.name]["version"] = value(&r.version);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
dbParsed[&pkg]["name"] = value(pkg);
|
|
||||||
dbParsed[&pkg]["version"] = value(pkg);
|
|
||||||
}
|
|
||||||
print!("{}",dbParsed);
|
|
||||||
fileAsPath.write_all(format!("{}",dbParsed).as_bytes()).unwrap();
|
|
||||||
Ok(())
|
|
||||||
}
|
|
Loading…
Reference in New Issue