use deunicode::deunicode;
use regex::Regex;
pub fn slugify(name: &str, lowercase: bool) -> String {
let mut s = deunicode(name);
let re_trim = Regex::new(r"\s*([-_])\s*").unwrap();
s = re_trim.replace_all(&s, "$1").to_string();
s = s.replace(' ', ".");
let re_clean = Regex::new(r"[^\w.\-{}]+").unwrap();
s = re_clean.replace_all(&s, "").to_string();
let re_dots = Regex::new(r"\.{2,}").unwrap();
s = re_dots.replace_all(&s, ".").to_string();
s = s.trim_matches('.').to_string();
if lowercase {
s = s.to_lowercase();
}
s
}