uninstalling removes cachedir and smartened errs

i18n
jnats 3 years ago
parent 2647731d39
commit 1e2d9c785c

@ -1,25 +1,46 @@
use runas::Command;
use crate::mods::strs::{err_unrec, sec, succ};
use crate::mods::strs::{err_unrec, sec, succ, err_rec};
use std::{fs, path::Path};
pub fn uninstall(noconfirm: bool, pkg: Vec<String>) {
sec(format!("Attempting to uninstall packages: {}", &pkg.join(" ")));
pub fn uninstall(noconfirm: bool, pkgs: Vec<String>) {
sec(format!("Attempting to uninstall packages: {}", &pkgs.join(" ")));
if noconfirm == true {
let result = Command::new("pacman").arg("-Rs").args(&pkg).arg("--noconfirm").status();
match result {
Ok(_) => {
succ(format!("Succesfully uninstalled packages: {}", &pkg.join(" ")))
}
Err(_) => {
err_unrec(format!("Couldn't uninstall packages: {}", &pkg.join(" ")))
let result = Command::new("pacman").arg("-Rs").args(&pkgs).arg("--noconfirm").status().expect("Couldn't call pacman");
match result.code() {
Some(0) => {
succ(format!("Succesfully uninstalled packages: {}", &pkgs.join(" ")))
}
Some(_) => {
err_rec(format!("Couldn't uninstall packages: {}", &pkgs.join(" ")))
}
None =>{
err_rec(format!("Couldn't uninstall packages: {}", &pkgs.join(" ")))
}};
} else {
let result = Command::new("pacman").arg("-Rs").args(&pkg).status();
match result {
Ok(_) => {
succ(format!("Succesfully uninstalled packages: {}", &pkg.join(" ")))
let result = Command::new("pacman").arg("-Rs").args(&pkgs).status().expect("Couldn't call pacman");
match result.code() {
Some(0) => {
succ(format!("Succesfully uninstalled packages: {}", &pkgs.join(" ")))
}
Some(_) => {
err_rec(format!("Couldn't uninstall packages: {}", &pkgs.join(" ")))
}
Err(_) => {
err_unrec(format!("Couldn't uninstall packages: {}", &pkg.join(" ")))
None =>{
err_rec(format!("Couldn't uninstall packages: {}", &pkgs.join(" ")))
}};
}
for pkg in &pkgs {
let pkgdir = format!("{}/.cache/ame/{}", std::env::var("HOME").unwrap(), pkg);
let path = Path::new(&pkgdir);
if path.is_dir() {
let rm_result = fs::remove_dir_all(&path);
match rm_result {
Ok(_) => {
succ(format!("Removed AUR cache directory for {}", pkg))
}
Err(_) => {
err_unrec(format!("Failed to remove AUR cache directory for {}", pkg))
}};
}
}
}

@ -6,12 +6,16 @@ pub fn update() {
let result = Command::new("pacman")
.arg("-Sy")
.status();
match result {
Ok(_) => {
.status()
.expect("Couldn't call pacman");
match result.code() {
Some(0) => {
succ(format!("Repos succesfully synced"))
}
Err(_) => {
err_unrec(format!("Couldn't sync package repos (how?)"))
Some(_) => {
err_unrec(format!("Couldn't sync package repos"))
}
None => {
err_unrec(format!("Couldn't sync package repos"))
}}
}

@ -8,23 +8,31 @@ pub fn upgrade(noconfirm: bool, cachedir: &str){
let result = Command::new("pacman")
.arg("-Syu")
.arg("--noconfirm")
.status();
match result {
Ok(_) => {
.status()
.expect("Couldn't call pacman");
match result.code() {
Some(0) => {
succ(format!("All repo packages upgraded"))
}
Err(_) => {
Some(_) => {
err_unrec(format!("Couldn't upgrade packages"))
}
None => {
err_unrec(format!("Couldn't upgrade packages"))
}};
} else {
let result = Command::new("pacman")
.arg("-Syu")
.status();
match result {
Ok(_) => {
.status()
.expect("Couldn't call pacman");
match result.code() {
Some(0) => {
succ(format!("All repo packages upgraded"))
}
Err(_) => {
Some(_) => {
err_unrec(format!("Couldn't upgrade packages"))
}
None => {
err_unrec(format!("Couldn't upgrade packages"))
}};
}
@ -58,14 +66,17 @@ pub fn upgrade(noconfirm: bool, cachedir: &str){
err_unrec(format!("Couldn't enter AUR package directory to install new version"))
}}
let makepkg_result = std::process::Command::new("makepkg").arg("-si").status();
match makepkg_result {
Ok(_) => {
let makepkg_result = std::process::Command::new("makepkg").arg("-si").status().expect("Couldn't call makepkg");
match makepkg_result.code() {
Some(0) => {
succ(format!("New AUR package version installed"))
}
Err(_) => {
Some(_) => {
err_unrec(format!("Couldn't install new AUR package version"))
}}
}
None => {
err_unrec(format!("Couldn't install new AUR package version"))
}};
}
}
}

Loading…
Cancel
Save