@cryptotaxi247 / kubo / commits / 96af2a1f8

pretty output

Jeromy committed Oct 9, 2014 at 23:34 UTC 96af2a1f8194bb072df042a7b4d24b7b1fd6dd0b
2 files changed +23 -5
cmd/ipfs/diag.go
+5 -1
@@ -20,9 +20,13 @@ var cmdIpfsDiag = &commander.Command{
20 Flag: *flag.NewFlagSet("ipfs-diag", flag.ExitOnError),
21 }
22
23 +func init() {
24 + cmdIpfsDiag.Flag.Bool("raw", false, "print raw json output")
25 +}
26 +
27 var diagCmd = makeCommand(command{
28 name: "diag",
29 args: 0,
26 - flags: nil,
30 + flags: []string{"raw"},
31 cmdFn: commands.Diag,
32 })
core/commands/diag.go
+18 -4
@@ -3,6 +3,7 @@ package commands
3 import (
4 "encoding/json"
5 "errors"
6 + "fmt"
7 "io"
8 "time"
9
@@ -17,10 +18,23 @@ func Diag(n *core.IpfsNode, args []string, opts map[string]interface{}, out io.W
18 if err != nil {
19 return err
20 }
20 - enc := json.NewEncoder(out)
21 - err = enc.Encode(info)
22 - if err != nil {
23 - return err
21 + raw := opts["raw"].(bool)
22 + if raw {
23 + enc := json.NewEncoder(out)
24 + err = enc.Encode(info)
25 + if err != nil {
26 + return err
27 + }
28 + } else {
29 + for _, i := range info {
30 + fmt.Fprintf(out, "Peer: %s\n", i.ID)
31 + fmt.Fprintf(out, "\tUp for: %s\n", i.LifeSpan.String())
32 + fmt.Fprintf(out, "\tConnected To:\n")
33 + for _, c := range i.Connections {
34 + fmt.Fprintf(out, "\t%s\n\t\tLatency = %s\n", c.ID, c.Latency.String())
35 + }
36 + fmt.Fprintln(out)
37 + }
38 }
39 return nil
40 }