Add CSV output formatter
This commit is contained in:
parent
9284d35b80
commit
c3a66ad01f
4 changed files with 33 additions and 12 deletions
|
@ -57,17 +57,17 @@ var (
|
|||
}
|
||||
|
||||
switch common.OutputFormat {
|
||||
case "json":
|
||||
case common.OutputFormatJSON:
|
||||
err := json.NewEncoder(os.Stdout).Encode(accounts)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "yaml":
|
||||
case common.OutputFormatYAML:
|
||||
err := yaml.NewEncoder(os.Stdout).Encode(accounts)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "table":
|
||||
case common.OutputFormatCSV, common.OutputFormatTable, common.OutputFormatDefault:
|
||||
t := table.NewWriter()
|
||||
t.SetOutputMirror(os.Stdout)
|
||||
t.AppendHeader(table.Row{"Phone Number", "UUID", "Device ID", "Subscribed"})
|
||||
|
@ -76,7 +76,11 @@ var (
|
|||
t.AppendRow(table.Row{account.Username, account.UUID, account.DeviceID, account.Subscribed})
|
||||
}
|
||||
|
||||
t.Render()
|
||||
if common.OutputFormat == common.OutputFormatCSV {
|
||||
t.RenderCSV()
|
||||
} else {
|
||||
t.Render()
|
||||
}
|
||||
default:
|
||||
log.Fatal("Unsupported output format")
|
||||
}
|
||||
|
|
|
@ -67,17 +67,17 @@ var (
|
|||
}
|
||||
|
||||
switch common.OutputFormat {
|
||||
case "json":
|
||||
case common.OutputFormatJSON:
|
||||
err := json.NewEncoder(os.Stdout).Encode(resp)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "yaml":
|
||||
case common.OutputFormatYAML:
|
||||
err := yaml.NewEncoder(os.Stdout).Encode(resp)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "table":
|
||||
case common.OutputFormatCSV, common.OutputFormatTable, common.OutputFormatDefault:
|
||||
t := table.NewWriter()
|
||||
t.SetOutputMirror(os.Stdout)
|
||||
t.AppendHeader(table.Row{"ID", "Title", "Members"})
|
||||
|
@ -90,7 +90,11 @@ var (
|
|||
t.AppendRow(table.Row{group.GroupId, group.Name, len(group.Members)})
|
||||
}
|
||||
|
||||
t.Render()
|
||||
if common.OutputFormat == common.OutputFormatCSV {
|
||||
t.RenderCSV()
|
||||
} else {
|
||||
t.Render()
|
||||
}
|
||||
default:
|
||||
log.Fatal("Unsupported output format")
|
||||
}
|
||||
|
|
|
@ -51,23 +51,27 @@ var versionCmd = &cobra.Command{
|
|||
},
|
||||
}
|
||||
switch common.OutputFormat {
|
||||
case "json":
|
||||
case common.OutputFormatJSON:
|
||||
err := json.NewEncoder(os.Stdout).Encode(output)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "yaml":
|
||||
case common.OutputFormatYAML:
|
||||
err := yaml.NewEncoder(os.Stdout).Encode(output)
|
||||
if err != nil {
|
||||
log.Fatal(err, "error encoding response to stdout")
|
||||
}
|
||||
case "table":
|
||||
case common.OutputFormatCSV, common.OutputFormatTable, common.OutputFormatDefault:
|
||||
t := table.NewWriter()
|
||||
t.SetOutputMirror(os.Stdout)
|
||||
t.AppendHeader(table.Row{"Name", "Version", "Branch", "Commit"})
|
||||
t.AppendRow(table.Row{common.Name, common.Version, common.Branch, common.Commit})
|
||||
t.AppendRow(table.Row{response.Name, response.Version, response.Branch, response.Commit})
|
||||
t.Render()
|
||||
if common.OutputFormat == common.OutputFormatCSV {
|
||||
t.RenderCSV()
|
||||
} else {
|
||||
t.Render()
|
||||
}
|
||||
default:
|
||||
log.Fatal("Unsupported output format")
|
||||
}
|
||||
|
|
9
cmd/signaldctl/common/output-formats.go
Normal file
9
cmd/signaldctl/common/output-formats.go
Normal file
|
@ -0,0 +1,9 @@
|
|||
package common
|
||||
|
||||
const (
|
||||
OutputFormatDefault = "default"
|
||||
OutputFormatCSV = "csv"
|
||||
OutputFormatTable = "table"
|
||||
OutputFormatJSON = "json"
|
||||
OutputFormatYAML = "yaml"
|
||||
)
|
Loading…
Reference in a new issue