ReSet_Lib/
lib.rs

1use directories_next as dirs;
2use std::{fmt, fs, path::PathBuf};
3
4mod tests;
5pub mod audio;
6pub mod network;
7pub mod bluetooth;
8pub mod signals;
9pub mod utils;
10
11#[derive(Debug, Clone)]
12struct PathNotFoundError;
13
14impl fmt::Display for PathNotFoundError {
15    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
16        write!(formatter, "File could not be found")
17    }
18}
19
20#[allow(dead_code)]
21fn create_config(project_organization: &str, project_name: &str) -> Option<PathBuf> {
22    let config_dir = dirs::ProjectDirs::from("com", project_organization, project_name)?;
23    let config_dir = config_dir.config_dir();
24    if !config_dir.exists() {
25        fs::create_dir(config_dir).expect("Could not create directory");
26    }
27    let metadata = fs::metadata(config_dir);
28    if metadata.is_err() {
29        return None;
30    }
31    let config_file = String::from(project_name) + ".toml";
32    let file_path = config_dir.join(config_file);
33    if !file_path.exists() {
34        fs::File::create(&file_path).expect("Could not write config file");
35    }
36    Some(config_dir.join(""))
37}