i18n
michal 2 years ago
parent 59b443c607
commit de15c98432

@ -18,6 +18,6 @@ pub fn init(options: Options) {
initialise::init(options);
}
pub fn query(a: &str, options: Options) -> Vec<Package> {
query::query(a, options)
pub fn query(options: Options) -> Vec<Package> {
query::query(options)
}

@ -6,7 +6,7 @@ use rusqlite::Connection;
use crate::internal::rpc::Package;
use crate::{log, Options};
pub fn query(a: &str, options: Options) -> Vec<Package> {
pub fn query(options: Options) -> Vec<Package> {
let verbosity = options.verbosity;
if verbosity >= 1 {
@ -23,11 +23,9 @@ pub fn query(a: &str, options: Options) -> Vec<Package> {
log("Querying database for input".to_string());
}
let mut rs = conn
.prepare("SELECT name, version, description, depends, make_depends FROM packages WHERE name LIKE :a;")
.unwrap();
let mut rs = conn.prepare("SELECT * FROM packages;").unwrap();
let packages_iter = rs
.query_map(&[(":a", &a)], |row| {
.query_map([], |row| {
Ok(Package {
name: row.get(0).unwrap(),
version: row.get(1).unwrap(),

@ -30,3 +30,24 @@ pub fn crash(a: String, b: i32) {
pub fn log(a: String) {
strings::log(a);
}
pub fn prompt(a: String, b: bool) -> bool {
strings::prompt(a, b)
}
#[macro_export]
macro_rules! uwu {
($x:expr) => {{
let uwu: String = String::from_str($x).unwrap();
let uwu = uwu.replace("l", "w");
let uwu = uwu.replace("L", "W");
let uwu = uwu.replace("r", "w");
let uwu = uwu.replace("R", "W");
let uwu = uwu.replace("na", "nya");
let uwu = uwu.replace("Na", "Nya");
let uwu = uwu.replace("NA", "NYA");
uwu
}};
}

@ -1,16 +1,40 @@
use crate::uwu;
use std::io::Write;
use std::process::exit;
use std::str::FromStr;
use std::time::UNIX_EPOCH;
use std::{env, io};
pub fn info(a: String) {
let a = if env::var("AME_UWU").unwrap_or("".to_string()) == "true" {
uwu!(&a)
} else {
a
};
println!("\x1b[2;22;35m❖\x1b[0m \x1b[1;37m{}\x1b[0m", a)
}
pub fn crash(a: String, b: i32) {
let a = if env::var("AME_UWU").unwrap_or("".to_string()) == "true" {
uwu!(&a)
} else {
a
};
println!("\x1b[2;22;31m❌\x1b[0m \x1b[1;91m{}\x1b[0m", a);
exit(b);
}
pub fn log(a: String) {
let a = if env::var("AME_UWU").unwrap_or("".to_string()) == "true"
&& env::var("AME_UWU_DEBUG").unwrap_or("".to_string()) == "true"
{
uwu!(&a)
} else {
a
};
eprintln!(
"{} {}",
std::time::SystemTime::now()
@ -20,3 +44,32 @@ pub fn log(a: String) {
a
);
}
pub fn prompt(a: String, b: bool) -> bool {
let default = ["[Y/n]", "[y/N]"];
let i = if b { 0 } else { 1 };
let a = if env::var("AME_UWU").unwrap_or("".to_string()) == "true" {
uwu!(&a)
} else {
a
};
print!(
"\x1b[2;22;35m?\x1b[0m \x1b[1;37m{}\x1b[0m \x1b[2;22;37m{}\x1b[0m: ",
a, default[i]
);
let mut yn: String = String::new();
io::stdout().flush().ok();
let _ = std::io::stdin().read_line(&mut yn);
if yn.trim().to_lowercase() == "n" || yn.trim().to_lowercase() == "no" {
false
} else if yn.trim().to_lowercase() == "y" || yn.trim().to_lowercase() == "yes" {
true
} else {
b
}
}

@ -4,8 +4,8 @@ use std::fs::remove_dir_all;
use std::path::Path;
use std::process::{Command, Stdio};
use crate::internal::crash;
use crate::internal::rpc::rpcinfo;
use crate::internal::{crash, prompt};
use crate::{info, log, Options};
pub fn aur_install(a: Vec<String>, options: Options) {
@ -84,14 +84,20 @@ pub fn aur_install(a: Vec<String>, options: Options) {
}
if !noconfirm {
let p = prompt(
"Would you like to view or edit {}'s PKGBUILD?".to_string(),
false,
);
let editor = env::var("EDITOR").unwrap_or_else(|_| "nano".parse().unwrap());
Command::new(editor)
.arg(format!("{}/PKGBUILD", pkg))
.spawn()
.unwrap()
.wait()
.unwrap();
if p {
Command::new(editor)
.arg(format!("{}/PKGBUILD", pkg))
.spawn()
.unwrap()
.wait()
.unwrap();
}
}
// dep installing
@ -122,10 +128,8 @@ pub fn aur_install(a: Vec<String>, options: Options) {
);
}
if makepkg_args.contains(&"--asdeps") {
set_current_dir(&cachedir).unwrap();
remove_dir_all(format!("{}/{}", cachedir, pkg)).unwrap();
}
set_current_dir(&cachedir).unwrap();
remove_dir_all(format!("{}/{}", cachedir, &pkg)).unwrap();
// pushes package to database
crate::database::add(rpcres.package.unwrap(), options);

@ -2,7 +2,7 @@ use runas::Command;
use crate::internal::rpc::rpcinfo;
use crate::operations::aur_install::aur_install;
use crate::{log, Options};
use crate::{info, log, Options};
pub fn upgrade(options: Options) {
let verbosity = options.verbosity;
@ -26,7 +26,11 @@ pub fn upgrade(options: Options) {
log("Upgrading AUR packages".to_string());
}
let res = crate::database::query("\"%\"", options);
let res = crate::database::query(options);
if verbosity >= 1 {
log(format!("{:?}", &res));
}
let mut aur_upgrades = vec![];
for r in res {
@ -37,5 +41,9 @@ pub fn upgrade(options: Options) {
}
}
aur_install(aur_upgrades, options);
if !aur_upgrades.is_empty() {
aur_install(aur_upgrades, options);
} else {
info("No upgrades available for installed AUR packages".to_string());
}
}

Loading…
Cancel
Save