@cryptotaxi247 / kubo / commits / ec40a29b3

change ExecuteCommand to return an error

Jeromy committed Sep 12, 2014 at 19:11 UTC ec40a29b3dc192e55f4e7e8c75f2581fe8712ceb
4 files changed +34 -21
cmd/ipfs/add.go
+4 -1
@@ -50,7 +50,10 @@ func addCmd(c *commander.Command, inp []string) error {
50 return err
51 }
52
53 - daemon.ExecuteCommand(cmd, n, os.Stdout)
53 + err := daemon.ExecuteCommand(cmd, n, os.Stdout)
54 + if err != nil {
55 + fmt.Println(err)
56 + }
57 }
58 return nil
59 }
cmd/ipfs/cat.go
+5 -1
@@ -1,6 +1,7 @@
1 package main
2
3 import (
4 + "fmt"
5 "os"
6
7 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag"
@@ -38,7 +39,10 @@ func catCmd(c *commander.Command, inp []string) error {
39 return err
40 }
41
41 - daemon.ExecuteCommand(com, n, os.Stdout)
42 + err := daemon.ExecuteCommand(com, n, os.Stdout)
43 + if err != nil {
44 + fmt.Println(err)
45 + }
46 }
47 return nil
48 }
cmd/ipfs/ls.go
+4 -1
@@ -42,7 +42,10 @@ func lsCmd(c *commander.Command, inp []string) error {
42 return err
43 }
44
45 - daemon.ExecuteCommand(com, n, os.Stdout)
45 + err := daemon.ExecuteCommand(com, n, os.Stdout)
46 + if err != nil {
47 + fmt.Println(err)
48 + }
49 }
50
51 return nil
daemon/daemon.go
+21 -18
@@ -74,10 +74,13 @@ func (dl *DaemonListener) handleConnection(conn net.Conn) {
74 }
75
76 u.DOut("Got command: %v\n", command)
77 - ExecuteCommand(&command, dl.node, conn)
77 + err := ExecuteCommand(&command, dl.node, conn)
78 + if err != nil {
79 + fmt.Fprintln(conn, "%v\n", err)
80 + }
81 }
82
80 -func ExecuteCommand(com *Command, ipfsnode *core.IpfsNode, out io.Writer) {
83 +func ExecuteCommand(com *Command, ipfsnode *core.IpfsNode, out io.Writer) error {
84 u.DOut("executing command: %s\n", com.Command)
85 switch com.Command {
86 case "add":
@@ -86,38 +89,40 @@ func ExecuteCommand(com *Command, ipfsnode *core.IpfsNode, out io.Writer) {
89 depth = -1
90 }
91 for _, path := range com.Args {
89 - _, err := commands.AddPath(ipfsnode, path, depth)
92 + nd, err := commands.AddPath(ipfsnode, path, depth)
93 + if err != nil {
94 + return fmt.Errorf("addFile error: %v", err)
95 + }
96 +
97 + k, err := nd.Key()
98 if err != nil {
91 - fmt.Fprintf(out, "addFile error: %v\n", err)
92 - continue
99 + return fmt.Errorf("addFile error: %v", err)
100 }
101 +
102 + fmt.Fprintf(out, "Added node: %s = %s\n", path, k.Pretty())
103 }
104 case "cat":
105 for _, fn := range com.Args {
106 dagnode, err := ipfsnode.Resolver.ResolvePath(fn)
107 if err != nil {
99 - fmt.Fprintf(out, "catFile error: %v\n", err)
100 - return
108 + return fmt.Errorf("catFile error: %v", err)
109 }
110
111 read, err := dag.NewDagReader(dagnode, ipfsnode.DAG)
112 if err != nil {
105 - fmt.Fprintln(out, err)
106 - continue
113 + return fmt.Errorf("cat error: %v", err)
114 }
115
116 _, err = io.Copy(out, read)
117 if err != nil {
111 - fmt.Fprintln(out, err)
112 - continue
118 + return fmt.Errorf("cat error: %v", err)
119 }
120 }
121 case "ls":
122 for _, fn := range com.Args {
123 dagnode, err := ipfsnode.Resolver.ResolvePath(fn)
124 if err != nil {
119 - fmt.Fprintf(out, "ls error: %v\n", err)
120 - return
125 + return fmt.Errorf("ls error: %v", err)
126 }
127
128 for _, link := range dagnode.Links {
@@ -128,18 +133,16 @@ func ExecuteCommand(com *Command, ipfsnode *core.IpfsNode, out io.Writer) {
133 for _, fn := range com.Args {
134 dagnode, err := ipfsnode.Resolver.ResolvePath(fn)
135 if err != nil {
131 - fmt.Fprintf(out, "pin error: %v\n", err)
132 - return
136 + return fmt.Errorf("pin error: %v", err)
137 }
138
139 err = ipfsnode.PinDagNode(dagnode)
140 if err != nil {
137 - fmt.Fprintf(out, "pin: %v\n", err)
138 - return
141 + return fmt.Errorf("pin: %v", err)
142 }
143 }
144 default:
142 - fmt.Fprintf(out, "Invalid Command: '%s'\n", com.Command)
145 + return fmt.Errord("Invalid Command: '%s'", com.Command)
146 }
147 }
148