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
+}