mirror of
https://github.com/containers/podman.git
synced 2025-11-02 14:55:28 +08:00
We had a couple of regressions in containers/common in the last release. Before cutting a new release, let's vendor it here. Since 3.0 has been branched, we can vendor a non-release commit of c/common. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
57 lines
1.4 KiB
Go
57 lines
1.4 KiB
Go
/*
|
|
Package report provides helper structs/methods/funcs for formatting output
|
|
|
|
To format output for an array of structs:
|
|
|
|
w := report.NewWriterDefault(os.Stdout)
|
|
defer w.Flush()
|
|
|
|
headers := report.Headers(struct {
|
|
ID string
|
|
}{}, nil)
|
|
t, _ := report.NewTemplate("command name").Parse("{{range .}}{{.ID}}{{end}}")
|
|
t.Execute(t, headers)
|
|
t.Execute(t, map[string]string{
|
|
"ID":"fa85da03b40141899f3af3de6d27852b",
|
|
})
|
|
// t.IsTable() == false
|
|
|
|
or
|
|
|
|
w := report.NewWriterDefault(os.Stdout)
|
|
defer w.Flush()
|
|
|
|
headers := report.Headers(struct {
|
|
CID string
|
|
}{}, map[string]string{
|
|
"CID":"ID"})
|
|
t, _ := report.NewTemplate("command name").Parse("table {{.CID}}")
|
|
t.Execute(t, headers)
|
|
t.Execute(t,map[string]string{
|
|
"CID":"fa85da03b40141899f3af3de6d27852b",
|
|
})
|
|
// t.IsTable() == true
|
|
|
|
Helpers:
|
|
|
|
if report.IsJSON(cmd.Flag("format").Value.String()) {
|
|
... process JSON and output
|
|
}
|
|
|
|
Template Functions:
|
|
|
|
The following template functions are added to the template when parsed:
|
|
- join strings.Join, {{join .Field separator}}
|
|
- lower strings.ToLower {{ .Field | lower }}
|
|
- split strings.Split {{ .Field | split }}
|
|
- title strings.Title {{ .Field | title }}
|
|
- upper strings.ToUpper {{ .Field | upper }}
|
|
|
|
report.Funcs() may be used to add additional template functions.
|
|
Adding an existing function will replace that function for the life of that template.
|
|
|
|
|
|
Note: Your code should not ignore errors
|
|
*/
|
|
package report
|