errors: impl From<xdg::BaseDirectoriesError>

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
pull/495/head
Manos Pitsidianakis 4 weeks ago
parent 8af003abd0
commit 2069b4da09
No known key found for this signature in database
GPG Key ID: 7729C7707F7E09D0

@ -217,7 +217,7 @@ impl Account {
event_consumer,
)?;
let data_dir = xdg::BaseDirectories::with_profile("meli", &name).unwrap();
let data_dir = xdg::BaseDirectories::with_profile("meli", &name)?;
let mut contacts = Contacts::with_account(settings.account());
if let Ok(data) = data_dir.place_data_file("contacts") {

@ -301,11 +301,7 @@ pub fn get_config_file() -> Result<PathBuf> {
if let Ok(path) = env::var("MELI_CONFIG") {
return Ok(PathBuf::from(path).expand());
}
let xdg_dirs = xdg::BaseDirectories::with_prefix("meli").map_err(|err| {
Error::new("Could not detect XDG directories for user")
.set_source(Some(std::sync::Arc::new(Box::new(err))))
.set_kind(ErrorKind::NotSupported)
})?;
let xdg_dirs = xdg::BaseDirectories::with_prefix("meli")?;
xdg_dirs
.place_config_file("config.toml")
.chain_err_summary(|| {

@ -646,3 +646,11 @@ impl From<base64::DecodeError> for Error {
.set_kind(ErrorKind::ValueError)
}
}
impl From<xdg::BaseDirectoriesError> for Error {
fn from(err: xdg::BaseDirectoriesError) -> Self {
Self::new("Could not detect XDG directories for user")
.set_source(Some(std::sync::Arc::new(Box::new(err))))
.set_kind(ErrorKind::NotSupported)
}
}

Loading…
Cancel
Save