added config changes, view comments for details

i18n
axtlos 3 years ago
parent 8c26afa026
commit 9e565eaffd

@ -0,0 +1,13 @@
cache = "/home/user/.cache/ame"
[backends]
pacman = true
flatpak = false
snap = false
aur = true
[pacman]
noconfirm = true
[aur]
clone_path = "/home/user/.cache/ame"

@ -1,6 +1,8 @@
mod mods; mod mods;
use toml; use toml;
use serde; use serde;
use std::fs::File;
use std::io::prelude::*;
use mods::{clearcache::clearcache, clone::clone, help::help, install::install, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, flatpak::flatpak, snap::snap}; use mods::{clearcache::clearcache, clone::clone, help::help, install::install, search::{a_search, r_search}, uninstall::uninstall, upgrade::upgrade, flatpak::flatpak, snap::snap};
use std::{env, process::exit, process::Command}; use std::{env, process::exit, process::Command};
@ -32,22 +34,11 @@ struct AUR {
fn main() { fn main() {
let args: Vec<String> = env::args().collect(); let args: Vec<String> = env::args().collect();
let mut file = File::open("config.toml").expect("Unable to open the Config file");
let configfile: General = toml::from_str(r#" let mut config = String::new();
cache = "/home/user/.cache/ame" file.read_to_string(&mut config).expect("Unable to read the Config file");
println!("{}", config);
[backends] let configfile: General = toml::from_str(&config).unwrap();
pacman = true
flatpak = true
snap = false
aur = true
[pacman]
noconfirm = false
[aur]
clone_path = "/home/user/.cache/ame"
"#).unwrap();
if args.len() <= 1 { if args.len() <= 1 {
help(); help();
@ -59,7 +50,8 @@ fn main() {
if configfile.backends.pacman.unwrap() == true { if configfile.backends.pacman.unwrap() == true {
let out = Command::new("pacman").arg("-Ss").arg(&arg).status().unwrap(); let out = Command::new("pacman").arg("-Ss").arg(&arg).status().unwrap();
if out.success() { if out.success() {
install(&arg); let configoption_noconfirm = configfile.pacman.noconfirm.unwrap();
install(configoption_noconfirm, &arg);
} else { } else {
if configfile.backends.aur.unwrap() == true { if configfile.backends.aur.unwrap() == true {
clone(&arg); clone(&arg);
@ -79,10 +71,12 @@ fn main() {
} }
} else if oper == "-R" { } else if oper == "-R" {
for arg in env::args().skip(2) { for arg in env::args().skip(2) {
uninstall(&arg); let configoption_noconfirm = configfile.pacman.noconfirm.unwrap();
uninstall(configoption_noconfirm, &arg);
} }
} else if oper == "-Syu" { } else if oper == "-Syu" {
upgrade(); let configoption_noconfirm = configfile.pacman.noconfirm.unwrap();
upgrade(configoption_noconfirm);
} else if oper == "-Ss" { } else if oper == "-Ss" {
for arg in env::args().skip(2) { for arg in env::args().skip(2) {
r_search(&arg); r_search(&arg);

@ -1,6 +1,11 @@
use runas::Command; use runas::Command;
pub fn install(pkg: &str) { pub fn install(noconfirm: bool, pkg: &str) {
println!("{}",noconfirm);
let errstr = format!("Oops.. Something went wrong!"); let errstr = format!("Oops.. Something went wrong!");
Command::new("pacman").arg("-S").arg(&pkg).status().expect(&errstr); if (noconfirm == false) {
Command::new("pacman").arg("-S").arg(&pkg).status().expect(&errstr);
} else {
Command::new("pacman").arg("-S").arg("--noconfirm").arg(&pkg).status().expect(&errstr);
}
} }

@ -1,12 +1,11 @@
use std::process::Command; use runas::Command;
pub fn uninstall(pkg: &str) { pub fn uninstall(noconfirm: bool, pkg: &str) {
let errstr = format!("Could not remove package {}", pkg); let errstr = format!("Could not remove package {}", pkg);
Command::new("sudo")
.arg("pacman") if (noconfirm == false) {
.arg("-R") Command::new("pacman").arg("-R").arg(&pkg).status().expect(&errstr);
.arg("--noconfirm") } else {
.arg(&pkg) Command::new("pacman").arg("-R").arg("--noconfirm").arg(&pkg).status().expect(&errstr);
.status() }
.expect(&errstr);
} }

@ -1,9 +1,17 @@
use std::process::Command; use runas::Command;
pub fn upgrade() { pub fn upgrade(noconfirm: bool) {
let errstr = format!("Something happened"); let errstr = format!("Something happened");
Command::new("pacman") if (noconfirm == true) {
.arg("-Syu") Command::new("pacman")
.status() .arg("-Syu")
.expect(&errstr); .arg("--noconfirm")
.status()
.expect(&errstr);
} else {
Command::new("pacman")
.arg("-Syu")
.status()
.expect(&errstr);
}
} }

Loading…
Cancel
Save