chiark / gitweb /
nwtemplates: move error conversion into nwtemplates
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 14 Jan 2021 00:24:43 +0000 (00:24 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 14 Jan 2021 00:24:43 +0000 (00:24 +0000)
tera::Error is not Sync so we can't use anyhow on it

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/nwtemplates.rs
src/spec.rs

index af19784a6b0682b05ec614615a35e114b6135dab..9680baf85dddb6797f85c30d96bdd81dc1c431ee 100644 (file)
@@ -30,11 +30,13 @@ pub fn init() {
   })
 }
 
-#[throws(tera::Error)]
+#[throws(anyhow::Error)]
 pub fn render<D: Serialize>(template_name: &str, data: &D) -> String {
   fn get_tera() -> MappedRwLockReadGuard<'static, tera::Tera> {
     let g = STATE.read();
     RwLockReadGuard::map(g, |g| &g.as_ref().unwrap().tera)
   }
-  get_tera().render(template_name, data)?
+  get_tera().render(template_name, data)
+    .map_err(|e| anyhow!(e.to_string()))
+    ?
 }
index bcf5a610d931435cd1fa0066c91a8545bd89d58f..43fef1d1cddebfdbedd74dff9857f02ce617f904 100644 (file)
@@ -510,8 +510,8 @@ pub mod implementation {
           };
           nwtemplates::render("token-other.tera", &data)
         },
-      }.map_err(|e| anyhow!(e.to_string()))
-        .context("render email template")?;
+      }
+      .context("render email template")?;
 
       let messagefile = (||{
         let mut messagefile = tempfile::tempfile().context("tempfile")?;