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
}