@cryptotaxi247 / kubo / commits / 4c029a861

extract toStrings method

Brian Tiger Chow committed Nov 6, 2014 at 04:19 UTC 4c029a86178a4aa058e58c4f99ad376f0ff4e962
1 file changed +17 -9
core/commands2/pin.go
+17 -9
@@ -37,17 +37,13 @@ var pinCmd = &cmds.Command{
37 }
38 }*/
39
40 - paths := make([]string, 0)
41 - for _, arg := range req.Arguments() {
42 - path, ok := arg.(string)
43 - if !ok {
44 - res.SetError(errors.New("cast error"), cmds.ErrNormal)
45 - return
46 - }
47 - paths = append(paths, path)
40 + paths, err := toStrings(req.Arguments())
41 + if err != nil {
42 + res.SetError(err, cmds.ErrNormal)
43 + return
44 }
45
50 - _, err := pin(n, paths, recursive)
46 + _, err = pin(n, paths, recursive)
47 if err != nil {
48 res.SetError(err, cmds.ErrNormal)
49 }
@@ -126,3 +122,15 @@ func pin(n *core.IpfsNode, paths []string, recursive bool) ([]*merkledag.Node, e
122
123 return dagnodes, nil
124 }
125 +
126 +func toStrings(slice []interface{}) ([]string, error) {
127 + strs := make([]string, 0)
128 + for _, maybe := range slice {
129 + str, ok := maybe.(string)
130 + if !ok {
131 + return nil, errors.New("cast error")
132 + }
133 + strs = append(strs, str)
134 + }
135 + return strs, nil
136 +}