@cryptotaxi247 / kubo / commits / 30c6dd9bc

cmds/refs: remove redundant func

License: MIT Signed-off-by: Overbool <overbool.xu@gmail.com>

Overbool committed Nov 6, 2018 at 10:51 UTC 30c6dd9bc1073734ea5925bca607907cc545aa14
3 files changed +25 -78
core/commands/filestore.go
+2 -12
@@ -203,18 +203,8 @@ var dupsFileStore = &cmds.Command{
203
204 return nil
205 },
206 - Encoders: cmds.EncoderMap{
207 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *RefWrapper) error {
208 - if out.Err != "" {
209 - return fmt.Errorf(out.Err)
210 - }
211 -
212 - fmt.Fprintln(w, out.Ref)
213 -
214 - return nil
215 - }),
216 - },
217 - Type: RefWrapper{},
206 + Encoders: refsEncoderMap,
207 + Type: RefWrapper{},
208 }
209
210 func getFilestore(env cmds.Environment) (*core.IpfsNode, *filestore.Filestore, error) {
core/commands/refs.go
+22 -66
@@ -1,25 +1,33 @@
1 package commands
2
3 import (
4 - "bytes"
4 "context"
5 "errors"
6 "fmt"
7 "io"
8 "strings"
9
11 - oldcmds "github.com/ipfs/go-ipfs/commands"
10 core "github.com/ipfs/go-ipfs/core"
11 cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
14 - e "github.com/ipfs/go-ipfs/core/commands/e"
12
13 cid "gx/ipfs/QmR8BauakNcBa3RbE4nbQu76PDiJgoQgz8AJdhJuiU4TAw/go-cid"
14 path "gx/ipfs/QmRG3XuGwT7GYuAqgWDJBKTzdaHMwAnc1x7J2KHEXNHxzG/go-path"
15 + cmds "gx/ipfs/Qma6uuSyjkecGhMFFLfzyJDPyoDtNJSHJNweDccZhaWkgU/go-ipfs-cmds"
16 ipld "gx/ipfs/QmcKKBwfz6FyQdHR2jsXrrF6XeSBXYL86anmWNewpFpoF5/go-ipld-format"
19 - cmds "gx/ipfs/QmSXUokcP4TJpFfqozT69AVAYRtzXVMUjzQVkYX41R9Svs/go-ipfs-cmds"
17 cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
18 )
19
20 +var refsEncoderMap = cmds.EncoderMap{
21 + cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *RefWrapper) error {
22 + if out.Err != "" {
23 + return fmt.Errorf(out.Err)
24 + }
25 + fmt.Fprintln(w, out.Ref)
26 +
27 + return nil
28 + }),
29 +}
30 +
31 // KeyList is a general type for outputting lists of keys
32 type KeyList struct {
33 Keys []cid.Cid
@@ -33,25 +41,7 @@ const (
41 refsMaxDepthOptionName = "max-depth"
42 )
43
36 -// KeyListTextMarshaler outputs a KeyList as plaintext, one key per line
37 -func KeyListTextMarshaler(res oldcmds.Response) (io.Reader, error) {
38 - out, err := unwrapOutput(res.Output())
39 - if err != nil {
40 - return nil, err
41 - }
42 -
43 - output, ok := out.(*KeyList)
44 - if !ok {
45 - return nil, e.TypeErr(output, out)
46 - }
47 -
48 - buf := new(bytes.Buffer)
49 - for _, key := range output.Keys {
50 - buf.WriteString(key.String() + "\n")
51 - }
52 - return buf, nil
53 -}
54 -
44 +// RefsCmd is the `ipfs refs` command
45 var RefsCmd = &cmds.Command{
46 Helptext: cmdkit.HelpText{
47 Tagline: "List links (references) from an object.",
@@ -78,6 +68,11 @@ NOTE: List all references recursively by using the flag '-r'.
68 cmdkit.IntOption(refsMaxDepthOptionName, "Only for recursive refs, limits fetch and listing to the given depth").WithDefault(-1),
69 },
70 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
71 + err := req.ParseBodyArgs()
72 + if err != nil {
73 + return err
74 + }
75 +
76 ctx := req.Context
77 n, err := cmdenv.GetNode(env)
78 if err != nil {
@@ -134,17 +129,8 @@ NOTE: List all references recursively by using the flag '-r'.
129
130 return res.Emit(out)
131 },
137 - Encoders: cmds.EncoderMap{
138 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *RefWrapper) error {
139 - if out.Err != "" {
140 - return fmt.Errorf(out.Err)
141 - }
142 - fmt.Fprintln(w, out.Ref)
143 -
144 - return nil
145 - }),
146 - },
147 - Type: RefWrapper{},
132 + Encoders: refsEncoderMap,
133 + Type: RefWrapper{},
134 }
135
136 var RefsLocalCmd = &cmds.Command{
@@ -177,37 +163,8 @@ Displays the hashes of all local objects.
163
164 return nil
165 },
180 - Encoders: cmds.EncoderMap{
181 - cmds.Text: cmds.MakeTypedEncoder(func(req *cmds.Request, w io.Writer, out *RefWrapper) error {
182 - if out.Err != "" {
183 - return fmt.Errorf(out.Err)
184 - }
185 - fmt.Fprintln(w, out.Ref)
186 -
187 - return nil
188 - }),
189 - },
190 - Type: RefWrapper{},
191 -}
192 -
193 -var refsMarshallerMap = oldcmds.MarshalerMap{
194 - cmds.Text: func(res oldcmds.Response) (io.Reader, error) {
195 - v, err := unwrapOutput(res.Output())
196 - if err != nil {
197 - return nil, err
198 - }
199 -
200 - obj, ok := v.(*RefWrapper)
201 - if !ok {
202 - return nil, e.TypeErr(obj, v)
203 - }
204 -
205 - if obj.Err != "" {
206 - return nil, errors.New(obj.Err)
207 - }
208 -
209 - return strings.NewReader(obj.Ref + "\n"), nil
210 - },
166 + Encoders: refsEncoderMap,
167 + Type: RefWrapper{},
168 }
169
170 func objectsForPaths(ctx context.Context, n *core.IpfsNode, paths []string) ([]ipld.Node, error) {
@@ -247,7 +204,6 @@ type RefWriter struct {
204 // WriteRefs writes refs of the given object to the underlying writer.
205 func (rw *RefWriter) WriteRefs(n ipld.Node) (int, error) {
206 return rw.writeRefsRecursive(n, 0)
250 -
207 }
208
209 func (rw *RefWriter) writeRefsRecursive(n ipld.Node, depth int) (int, error) {
core/commands/root.go
+1
@@ -155,6 +155,7 @@ var RootRO = &cmds.Command{}
155
156 var CommandsDaemonROCmd = CommandsCmd(RootRO)
157
158 +// RefsROCmd is `ipfs refs` command
159 var RefsROCmd = &cmds.Command{}
160
161 var rootROSubcommands = map[string]*cmds.Command{