diff options
author | Daniel Silverstone <dsilvers+gitlab@digital-scurf.org> | 2022-05-06 19:28:34 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers+gitlab@digital-scurf.org> | 2022-05-06 19:28:34 +0000 |
commit | 27b617cbaa9e6d4fb58a0b971b428a05da8ec5d9 (patch) | |
tree | 08067bf4290982e4a717ba55a660714084370158 /src/templatespec.rs | |
parent | c2cbccd45a2c356e458abc8bbef3193434e8572a (diff) | |
parent | 52ccfa5a1bf2893bdc63ff1bad2b2a88ca86ef95 (diff) | |
download | subplot-27b617cbaa9e6d4fb58a0b971b428a05da8ec5d9.tar.gz |
Merge branch 'liw/tidy-up-error' into 'main'
tidy up error handling a bit
See merge request subplot/subplot!275
Diffstat (limited to 'src/templatespec.rs')
-rw-r--r-- | src/templatespec.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/templatespec.rs b/src/templatespec.rs index 5d7150b..28ab7e1 100644 --- a/src/templatespec.rs +++ b/src/templatespec.rs @@ -1,5 +1,4 @@ use crate::resource; -use crate::Result; use crate::SubplotError; use serde::Deserialize; @@ -21,8 +20,8 @@ pub struct TemplateSpec { impl TemplateSpec { // Create a new TemplateSpec from YAML text. - fn from_yaml(yaml: &str) -> Result<TemplateSpec> { - Ok(serde_yaml::from_str(yaml)?) + fn from_yaml(yaml: &str) -> Result<TemplateSpec, SubplotError> { + serde_yaml::from_str(yaml).map_err(SubplotError::Metadata) } // Create a new TemplateSpec. @@ -40,8 +39,9 @@ impl TemplateSpec { } /// Read a template.yaml file and create the corresponding TemplateSpec. - pub fn from_file(filename: &Path) -> Result<TemplateSpec> { - let yaml = resource::read_as_string(filename, None)?; + pub fn from_file(filename: &Path) -> Result<TemplateSpec, SubplotError> { + let yaml = resource::read_as_string(filename, None) + .map_err(|err| SubplotError::ReadFile(filename.to_path_buf(), err))?; let spec = TemplateSpec::from_yaml(&yaml)?; let dirname = match filename.parent() { Some(x) => x, |