Files
managarr/src/utils.rs

47 lines
1.1 KiB
Rust

use log::LevelFilter;
use log4rs::append::file::FileAppender;
use log4rs::config::{Appender, Root};
use log4rs::encode::pattern::PatternEncoder;
use regex::Regex;
#[cfg(test)]
#[path = "utils_tests.rs"]
mod utils_tests;
pub fn init_logging_config() -> log4rs::Config {
let file_path = "/tmp/managarr.log";
let logfile = FileAppender::builder()
.encoder(Box::new(PatternEncoder::new(
"{d(%Y-%m-%d %H:%M:%S%.3f)(utc)} <{i}> [{l}] {f}:{L} - {m}{n}",
)))
.build(file_path)
.unwrap();
log4rs::Config::builder()
.appender(Appender::builder().build("logfile", Box::new(logfile)))
.build(
Root::builder()
.appender("logfile")
.build(LevelFilter::Debug),
)
.unwrap()
}
pub fn convert_to_gb(bytes: u64) -> f64 {
bytes as f64 / 1024f64.powi(3)
}
pub fn convert_runtime(runtime: u64) -> (u64, u64) {
let hours = runtime / 60;
let minutes = runtime % 60;
(hours, minutes)
}
pub fn strip_non_search_characters(input: &str) -> String {
Regex::new(r"[^a-zA-Z0-9.,/'\-:\s]")
.unwrap()
.replace_all(&input.to_lowercase(), "")
.to_string()
}