From cfb4e15e430e63b17420e80c0f6030a12fa1fb4a Mon Sep 17 00:00:00 2001 From: umohnani8 Date: Tue, 12 Dec 2017 11:33:28 -0500 Subject: \t was not being recognized as tab in --format When doing kpod images --format "{{.ID}}\t{{.Tag}}" the "\t" was being passed in as a string of "\" and "t" instead of as a tab character. Signed-off-by: umohnani8 Closes: #123 Approved by: rhatdan --- cmd/kpod/formats/formats.go | 2 +- cmd/kpod/history.go | 12 +++++++----- cmd/kpod/images.go | 16 ++++++++-------- cmd/kpod/ps.go | 17 +++++++++-------- 4 files changed, 25 insertions(+), 22 deletions(-) (limited to 'cmd') diff --git a/cmd/kpod/formats/formats.go b/cmd/kpod/formats/formats.go index 6e5dd2425..4b6527b30 100644 --- a/cmd/kpod/formats/formats.go +++ b/cmd/kpod/formats/formats.go @@ -1,6 +1,7 @@ package formats import ( + "bytes" "encoding/json" "fmt" "os" @@ -8,7 +9,6 @@ import ( "text/tabwriter" "text/template" - "bytes" "github.com/ghodss/yaml" "github.com/pkg/errors" ) diff --git a/cmd/kpod/history.go b/cmd/kpod/history.go index 211a843d0..20422b7c3 100644 --- a/cmd/kpod/history.go +++ b/cmd/kpod/history.go @@ -92,10 +92,7 @@ func historyCmd(c *cli.Context) error { } defer runtime.Shutdown(false) - format := genHistoryFormat(c.Bool("quiet")) - if c.IsSet("format") { - format = c.String("format") - } + format := genHistoryFormat(c.String("format"), c.Bool("quiet")) args := c.Args() if len(args) == 0 { @@ -121,7 +118,12 @@ func historyCmd(c *cli.Context) error { return generateHistoryOutput(history, layers, imageID, opts) } -func genHistoryFormat(quiet bool) (format string) { +func genHistoryFormat(format string, quiet bool) string { + if format != "" { + // "\t" from the command line is not being recognized as a tab + // replacing the string "\t" to a tab character if the user passes in "\t" + return strings.Replace(format, `\t`, "\t", -1) + } if quiet { return formats.IDString } diff --git a/cmd/kpod/images.go b/cmd/kpod/images.go index 7b020c984..76f5ca69a 100644 --- a/cmd/kpod/images.go +++ b/cmd/kpod/images.go @@ -93,12 +93,7 @@ func imagesCmd(c *cli.Context) error { } defer runtime.Shutdown(false) - var format string - if c.IsSet("format") { - format = c.String("format") - } else { - format = genImagesFormat(c.Bool("quiet"), c.Bool("noheading"), c.Bool("digests")) - } + format := genImagesFormat(c.String("format"), c.Bool("quiet"), c.Bool("noheading"), c.Bool("digests")) opts := imagesOptions{ quiet: c.Bool("quiet"), @@ -137,7 +132,12 @@ func imagesCmd(c *cli.Context) error { return generateImagesOutput(runtime, images, opts) } -func genImagesFormat(quiet, noHeading, digests bool) (format string) { +func genImagesFormat(format string, quiet, noHeading, digests bool) string { + if format != "" { + // "\t" from the command line is not being recognized as a tab + // replacing the string "\t" to a tab character if the user passes in "\t" + return strings.Replace(format, `\t`, "\t", -1) + } if quiet { return formats.IDString } @@ -149,7 +149,7 @@ func genImagesFormat(quiet, noHeading, digests bool) (format string) { format += "{{.Digest}}\t" } format += "{{.ID}}\t{{.Created}}\t{{.Size}}\t" - return + return format } // imagesToGeneric creates an empty array of interfaces for output diff --git a/cmd/kpod/ps.go b/cmd/kpod/ps.go index d3b38cbd6..36ce18515 100644 --- a/cmd/kpod/ps.go +++ b/cmd/kpod/ps.go @@ -160,10 +160,7 @@ func psCmd(c *cli.Context) error { return errors.Errorf("too many arguments, ps takes no arguments") } - format := genPsFormat(c.Bool("quiet"), c.Bool("size"), c.Bool("namespace")) - if c.IsSet("format") { - format = c.String("format") - } + format := genPsFormat(c.String("format"), c.Bool("quiet"), c.Bool("size"), c.Bool("namespace")) opts := psOptions{ all: c.Bool("all"), @@ -302,19 +299,23 @@ func generateContainerFilterFuncs(filter, filterValue string, runtime *libpod.Ru } // generate the template based on conditions given -func genPsFormat(quiet, size, namespace bool) (format string) { +func genPsFormat(format string, quiet, size, namespace bool) string { + if format != "" { + // "\t" from the command line is not being recognized as a tab + // replacing the string "\t" to a tab character if the user passes in "\t" + return strings.Replace(format, `\t`, "\t", -1) + } if quiet { return formats.IDString } if namespace { - format = "table {{.ID}}\t{{.Names}}\t{{.PID}}\t{{.Cgroup}}\t{{.IPC}}\t{{.MNT}}\t{{.NET}}\t{{.PIDNS}}\t{{.User}}\t{{.UTS}}\t" - return + return "table {{.ID}}\t{{.Names}}\t{{.PID}}\t{{.Cgroup}}\t{{.IPC}}\t{{.MNT}}\t{{.NET}}\t{{.PIDNS}}\t{{.User}}\t{{.UTS}}\t" } format = "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}\t" if size { format += "{{.Size}}\t" } - return + return format } func psToGeneric(templParams []psTemplateParams, JSONParams []psJSONParams) (genericParams []interface{}) { -- cgit v1.2.3-54-g00ecf