diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-10-09 13:20:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-09 13:20:39 -0400 |
commit | ffabd57d6de01c5c65b2e2291b6a6564d28263a0 (patch) | |
tree | 044680b61b05ba97af55cdafb425dd2a8b6b47f7 /cmd/podman/networks/inspect.go | |
parent | 73488369586d387db0e4754fa56d5d0077a24940 (diff) | |
parent | f128bff232a9d9ee14376af83e7f917d3c47ceb8 (diff) | |
download | podman-ffabd57d6de01c5c65b2e2291b6a6564d28263a0.tar.gz podman-ffabd57d6de01c5c65b2e2291b6a6564d28263a0.tar.bz2 podman-ffabd57d6de01c5c65b2e2291b6a6564d28263a0.zip |
Merge pull request #7975 from jwhonce/jira/run-898-4
Restore --format table...
Diffstat (limited to 'cmd/podman/networks/inspect.go')
-rw-r--r-- | cmd/podman/networks/inspect.go | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/cmd/podman/networks/inspect.go b/cmd/podman/networks/inspect.go index c5872def7..c36125948 100644 --- a/cmd/podman/networks/inspect.go +++ b/cmd/podman/networks/inspect.go @@ -3,12 +3,13 @@ package network import ( "encoding/json" "fmt" - "io" "os" - "strings" + "text/tabwriter" "text/template" + "github.com/containers/podman/v2/cmd/podman/parse" "github.com/containers/podman/v2/cmd/podman/registry" + "github.com/containers/podman/v2/cmd/podman/report" "github.com/containers/podman/v2/pkg/domain/entities" "github.com/spf13/cobra" ) @@ -39,31 +40,32 @@ func init() { flags.StringVarP(&networkInspectOptions.Format, "format", "f", "", "Pretty-print network to JSON or using a Go template") } -func networkInspect(cmd *cobra.Command, args []string) error { +func networkInspect(_ *cobra.Command, args []string) error { responses, err := registry.ContainerEngine().NetworkInspect(registry.Context(), args, entities.NetworkInspectOptions{}) if err != nil { return err } - b, err := json.MarshalIndent(responses, "", " ") - if err != nil { - return err - } - if strings.ToLower(networkInspectOptions.Format) == "json" || networkInspectOptions.Format == "" { - fmt.Println(string(b)) - } else { - var w io.Writer = os.Stdout - //There can be more than 1 in the inspect output. - format := "{{range . }}" + networkInspectOptions.Format + "{{end}}" - tmpl, err := template.New("inspectNetworks").Parse(format) + + switch { + case parse.MatchesJSONFormat(networkInspectOptions.Format) || networkInspectOptions.Format == "": + b, err := json.MarshalIndent(responses, "", " ") if err != nil { return err } - if err := tmpl.Execute(w, responses); err != nil { + fmt.Println(string(b)) + default: + row := report.NormalizeFormat(networkInspectOptions.Format) + // There can be more than 1 in the inspect output. + row = "{{range . }}" + row + "{{end}}" + tmpl, err := template.New("inspectNetworks").Parse(row) + if err != nil { return err } - if flusher, ok := w.(interface{ Flush() error }); ok { - return flusher.Flush() - } + + w := tabwriter.NewWriter(os.Stdout, 8, 2, 0, ' ', 0) + defer w.Flush() + + return tmpl.Execute(w, responses) } return nil } |