Create config path if it doesn't exist; don't panic
This commit is contained in:
parent
fddd146361
commit
f3e7a42043
@ -13,7 +13,18 @@ pub fn load(config_path: PathBuf) -> Config {
|
||||
}
|
||||
|
||||
pub fn save(config_path: PathBuf, config: Config) {
|
||||
fs::write(config_path, serde_json::to_string_pretty(&config).unwrap()).unwrap();
|
||||
match fs::write(config_path.clone(), serde_json::to_string_pretty(&config).unwrap()) {
|
||||
Ok(_) => (),
|
||||
Err(e) => {
|
||||
match e.kind() {
|
||||
std::io::ErrorKind::NotFound => {
|
||||
fs::create_dir_all(config_path.parent().unwrap()).unwrap();
|
||||
return save(config_path, config);
|
||||
}
|
||||
_ => println!("Could not save config file, got:\n{}\n", e),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn save_value(config_path: PathBuf, key: &str, value: bool) {
|
||||
|
Loading…
Reference in New Issue
Block a user