summaryrefslogtreecommitdiff
path: root/src/templatespec.rs
diff options
context:
space:
mode:
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,