database template code + first run dir creation

i18n
michal 2 years ago
parent 62a9b40d48
commit e9247e15e7

@ -0,0 +1,5 @@
use crate::Options;
pub fn add(a: String, options: Options) {
// TODO: the actual database code lmao
}

@ -0,0 +1,7 @@
use crate::Options;
mod add;
pub fn add(a: String, options: Options) {
add::add(a, options);
}

@ -0,0 +1,36 @@
use crate::Options;
use std::env;
use std::path::Path;
pub fn init(options: Options) {
let verbosity = options.verbosity;
let homedir = env::var("HOME").unwrap();
if !Path::new(&format!("{}/.local/share/ame", homedir)).exists() {
let r = std::fs::create_dir_all(format!("{}/.local/share/ame", homedir));
match r {
Ok(_) => {
if verbosity >= 1 {
eprintln!("Created path: {}/.local/share/ame", homedir);
}
}
Err(e) => {
panic!("Couldn't create path: {}/.local/share/ame: {}", homedir, e);
}
}
}
if !Path::new(&format!("{}/.cache/ame/", homedir)).exists() {
let r = std::fs::create_dir_all(format!("{}/.cache/ame", homedir));
match r {
Ok(_) => {
if verbosity >= 1 {
eprintln!("Created path: {}/.cache/ame", homedir);
}
}
Err(e) => {
panic!("Couldn't create path: {}/.cache/ame: {}", homedir, e);
}
}
}
}

@ -1,6 +1,7 @@
use crate::Options;
mod clean;
mod initialise;
pub mod rpc;
mod sort;
pub mod structs;
@ -12,3 +13,7 @@ pub fn sort(a: &[String], options: Options) -> structs::Sorted {
pub fn clean(a: &[String], options: Options) -> Vec<String> {
clean::clean(a, options)
}
pub fn init(options: Options) {
initialise::init(options);
}

@ -1,7 +1,8 @@
mod database;
mod internal;
mod operations;
use crate::internal::{sort, structs::Options};
use crate::internal::{init, sort, structs::Options};
use clap::{App, AppSettings, Arg, ArgSettings, SubCommand};
use std::process::exit;
@ -86,6 +87,8 @@ fn main() {
noconfirm,
};
init(options);
let packages: Vec<String> = matches
.subcommand()
.1

Loading…
Cancel
Save