tpl: Factor out double Lookup in executeTemplate
authorCameron Moore <moorereason@gmail.com>
Wed, 12 Oct 2016 06:26:39 +0000 (01:26 -0500)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 12 Oct 2016 06:26:39 +0000 (08:26 +0200)
tpl/template.go

index 4792989766017999067be4985a6fdd99ca00d471..431ea5a24b3384d3bb3682763cd362217161ccb2 100644 (file)
@@ -117,19 +117,17 @@ func partial(name string, contextList ...interface{}) template.HTML {
 }
 
 func executeTemplate(context interface{}, w io.Writer, layouts ...string) {
-       worked := false
+       var worked bool
        for _, layout := range layouts {
-
-               name := layout
-
-               if Lookup(name) == nil {
-                       name = layout + ".html"
+               templ := Lookup(layout)
+               if templ == nil {
+                       layout += ".html"
+                       templ = Lookup(layout)
                }
 
-               if templ := Lookup(name); templ != nil {
-                       err := templ.Execute(w, context)
-                       if err != nil {
-                               jww.ERROR.Println(err, "in", name)
+               if templ != nil {
+                       if err := templ.Execute(w, context); err != nil {
+                               jww.ERROR.Println(err, "in", layout)
                        }
                        worked = true
                        break