summaryrefslogtreecommitdiff
path: root/src/templatespec.rs
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers+gitlab@digital-scurf.org>2022-05-06 19:28:34 +0000
committerDaniel Silverstone <dsilvers+gitlab@digital-scurf.org>2022-05-06 19:28:34 +0000
commit27b617cbaa9e6d4fb58a0b971b428a05da8ec5d9 (patch)
tree08067bf4290982e4a717ba55a660714084370158 /src/templatespec.rs
parentc2cbccd45a2c356e458abc8bbef3193434e8572a (diff)
parent52ccfa5a1bf2893bdc63ff1bad2b2a88ca86ef95 (diff)
downloadsubplot-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.rs10
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,