aboutsummaryrefslogtreecommitdiff
path: root/src/config/templates.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/templates.rs')
-rw-r--r--src/config/templates.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/config/templates.rs b/src/config/templates.rs
index 00e9cf59..e5299bd0 100644
--- a/src/config/templates.rs
+++ b/src/config/templates.rs
@@ -3,8 +3,19 @@
use std::fmt;
-use gtmpl::Template;
+use gtmpl::{Template, TemplateError};
pub fn debug_template(t: &Template, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
f.write_fmt(format_args!("Template({:?})", t.text))
}
+
+pub fn parse_ini(
+ ini: &ini::Properties,
+ key: &str,
+ default: &str,
+) -> Result<Template, TemplateError> {
+ let text = ini.get_all(key).last().unwrap_or(default);
+ let mut t = Template::with_name(text);
+ t.parse(text)?;
+ Ok(t)
+}