Add default template functions

For commands that use the golang template library directly add the
compatible template functions

[NO TESTS NEEDED]

Fixes #8773

Signed-off-by: Jhon Honce <jhonce@redhat.com>
This commit is contained in:
Jhon Honce
2021-02-09 08:46:17 -07:00
parent 1db9053add
commit 3ed56079f9
2 changed files with 5 additions and 11 deletions

View File

@ -232,7 +232,9 @@ func ps(cmd *cobra.Command, _ []string) error {
ns := strings.NewReplacer(".Namespaces.", ".")
format = ns.Replace(format)
tmpl, err := template.New("listContainers").Parse(format)
tmpl, err := template.New("listContainers").
Funcs(template.FuncMap(report.DefaultFuncs)).
Parse(format)
if err != nil {
return err
}

View File

@ -1,7 +1,6 @@
package inspect
import (
"bytes"
"context"
"encoding/json" // due to a bug in json-iterator it cannot be used here
"fmt"
@ -246,15 +245,8 @@ func printJSON(data []interface{}) error {
}
func printTmpl(typ, row string, data []interface{}) error {
t, err := template.New(typ + " inspect").Funcs(map[string]interface{}{
"json": func(v interface{}) string {
b := &bytes.Buffer{}
e := registry.JSONLibrary().NewEncoder(b)
e.SetEscapeHTML(false)
_ = e.Encode(v)
return strings.TrimSpace(b.String())
},
}).Parse(row)
// We cannot use c/common/reports here, too many levels of interface{}
t, err := template.New(typ + " inspect").Funcs(template.FuncMap(report.DefaultFuncs)).Parse(row)
if err != nil {
return err
}