diff options
Diffstat (limited to 'src/config/templates.rs')
-rw-r--r-- | src/config/templates.rs | 13 |
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) +} |