Skip to content

Commit

Permalink
Enable --cid-base for more commands.
Browse files Browse the repository at this point in the history
Move APICid and Encoder to go-cidutil.

License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
  • Loading branch information
kevina committed Sep 18, 2018
1 parent a2f4276 commit f7d408d
Show file tree
Hide file tree
Showing 22 changed files with 232 additions and 214 deletions.
131 changes: 0 additions & 131 deletions core/apicid.go

This file was deleted.

4 changes: 2 additions & 2 deletions core/commands/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import (
cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds"
mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
pb "gx/ipfs/QmPtj12fdwuAqj9sBSTNUxBNu8kCGNp8b3o8yUzMm5GHpq/pb"
cidutil "gx/ipfs/QmQJSeE3CX4zos9qeaG8EhecEK9zvrTEfTG84J8C5NVRwt/go-cidutil"
mfs "gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
files "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit/files"
cidutil "gx/ipfs/QmSwrzRygK8yHBzd8gJJYedttQVQTZJrbEbpEBYvQLaRy8/go-cidutil"
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
bstore "gx/ipfs/QmegPGspn3RpTMQ23Fd3GVVMopo1zsEMurudbFMZ5UXBLH/go-ipfs-blockstore"
)
Expand Down Expand Up @@ -390,7 +390,7 @@ You can now check what blocks have been created by:
log.Warning("cannot determine size of input file")
}

err := HandleCidBase(req)
_, err := NewCidBaseHandler(req).UseGlobal().Proc()
if err != nil {
re.SetError(err, cmdkit.ErrNormal)
return re
Expand Down
2 changes: 1 addition & 1 deletion core/commands/dns.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ The resolver can recursively resolve:
cmdkit.BoolOption("recursive", "r", "Resolve until the result is not a DNS link."),
},
Run: func(req cmds.Request, res cmds.Response) {

recursive, _, _ := req.Option("recursive").Bool()
name := req.Arguments()[0]
resolver := namesys.NewDNSResolver()
Expand All @@ -77,6 +76,7 @@ The resolver can recursively resolve:
},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {

v, err := unwrapOutput(res.Output())
if err != nil {
return nil, err
Expand Down
19 changes: 15 additions & 4 deletions core/commands/files.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
logging "gx/ipfs/QmRREK2CAZ5Re2Bd9zZFG6FeYDppUWt5cMgsoUEp3ktgSr/go-log"
mfs "gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
apicid "gx/ipfs/QmSwrzRygK8yHBzd8gJJYedttQVQTZJrbEbpEBYvQLaRy8/go-cidutil/apicid"
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
)
Expand Down Expand Up @@ -77,7 +78,7 @@ var hashOption = cmdkit.StringOption("hash", "Hash function to use. Will set Cid
var errFormat = errors.New("format was set by multiple options. Only one format option is allowed")

type statOutput struct {
Hash string
Hash apicid.Hash
Size uint64
CumulativeSize uint64
Blocks int
Expand Down Expand Up @@ -167,13 +168,18 @@ var filesStatCmd = &cmds.Command{
},
Encoders: cmds.EncoderMap{
cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error {
_, err := NewCidBaseHandler(req).UseGlobal().Proc()
if err != nil {
return err
}

out, ok := v.(*statOutput)
if !ok {
return e.TypeErr(out, v)
}

s, _ := statGetFormatOptions(req)
s = strings.Replace(s, "<hash>", out.Hash, -1)
s = strings.Replace(s, "<hash>", out.Hash.String(), -1)
s = strings.Replace(s, "<size>", fmt.Sprintf("%d", out.Size), -1)
s = strings.Replace(s, "<cumulsize>", fmt.Sprintf("%d", out.CumulativeSize), -1)
s = strings.Replace(s, "<childs>", fmt.Sprintf("%d", out.Blocks), -1)
Expand Down Expand Up @@ -244,15 +250,15 @@ func statNode(nd ipld.Node) (*statOutput, error) {
}

return &statOutput{
Hash: c.String(),
Hash: apicid.FromCid(c),
Blocks: len(nd.Links()),
Size: d.GetFilesize(),
CumulativeSize: cumulsize,
Type: ndtype,
}, nil
case *dag.RawNode:
return &statOutput{
Hash: c.String(),
Hash: apicid.FromCid(c),
Blocks: 0,
Size: cumulsize,
CumulativeSize: cumulsize,
Expand Down Expand Up @@ -491,6 +497,11 @@ Examples:
},
Marshalers: oldcmds.MarshalerMap{
oldcmds.Text: func(res oldcmds.Response) (io.Reader, error) {
_, err := NewCidBaseHandlerLegacy(res.Request()).UseGlobal().Proc()
if err != nil {
return nil, err
}

v, err := unwrapOutput(res.Output())
if err != nil {
return nil, err
Expand Down
20 changes: 19 additions & 1 deletion core/commands/filestore.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,12 @@ The output is:
cmds.CLI: func(req *cmds.Request, re cmds.ResponseEmitter) cmds.ResponseEmitter {
reNext, res := cmds.NewChanResponsePair(req)

_, err := NewCidBaseHandler(req).UseGlobal().Proc()
if err != nil {
re.SetError(err, cmdkit.ErrNormal)
return reNext
}

go func() {
defer re.Close()

Expand Down Expand Up @@ -174,6 +180,11 @@ For ERROR entries the error will also be printed to stderr.
},
Marshalers: oldCmds.MarshalerMap{
oldCmds.Text: func(res oldCmds.Response) (io.Reader, error) {
_, err := NewCidBaseHandlerLegacy(res.Request()).UseGlobal().Proc()
if err != nil {
return nil, err
}

v, err := unwrapOutput(res.Output())
if err != nil {
return nil, err
Expand Down Expand Up @@ -210,6 +221,13 @@ var dupsFileStore = &oldCmds.Command{
return
}

h, err := NewCidBaseHandlerLegacy(req).Proc()
if err != nil {
res.SetError(err, cmdkit.ErrNormal)
return
}
enc := h.Encoder()

out := make(chan interface{}, 128)
res.SetOutput((<-chan interface{})(out))

Expand All @@ -226,7 +244,7 @@ var dupsFileStore = &oldCmds.Command{
}
if have {
select {
case out <- &RefWrapper{Ref: cid.String()}:
case out <- &RefWrapper{Ref: enc.Encode(cid)}:
case <-req.Context().Done():
return
}
Expand Down
7 changes: 4 additions & 3 deletions core/commands/ls.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@ import (

cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
"gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
apicid "gx/ipfs/QmSwrzRygK8yHBzd8gJJYedttQVQTZJrbEbpEBYvQLaRy8/go-cidutil/apicid"
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
)

type LsLink struct {
Name string
Hash core.APICid
Hash apicid.Hash
Size uint64
Type unixfspb.Data_DataType
}
Expand Down Expand Up @@ -161,7 +162,7 @@ The JSON output contains type information.
}
output[i].Links[j] = LsLink{
Name: link.Name,
Hash: core.FromCid(link.Cid),
Hash: apicid.FromCid(link.Cid),
Size: link.Size,
Type: t,
}
Expand All @@ -172,7 +173,7 @@ The JSON output contains type information.
},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
err := HandleCidBaseLegacy(res.Request())
_, err := NewCidBaseHandlerLegacy(res.Request()).UseGlobal().Proc()
if err != nil {
return nil, err
}
Expand Down
22 changes: 10 additions & 12 deletions core/commands/pin.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (

cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
"gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
apicid "gx/ipfs/QmSwrzRygK8yHBzd8gJJYedttQVQTZJrbEbpEBYvQLaRy8/go-cidutil/apicid"
"gx/ipfs/QmVkMRSkXrpjqrroEXWuYBvDBnXCdMMY6gsKicBGVGUqKT/go-verifcid"
path "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path"
resolver "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path/resolver"
Expand All @@ -39,11 +40,11 @@ var PinCmd = &cmds.Command{
}

type PinOutput struct {
Pins []core.APICid
Pins []apicid.Hash
}

type AddPinOutput struct {
Pins []core.APICid
Pins []apicid.Hash
Progress int `json:",omitempty"`
}

Expand Down Expand Up @@ -130,7 +131,7 @@ var addPinCmd = &cmds.Command{
},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
err := HandleCidBaseLegacy(res.Request())
_, err := NewCidBaseHandlerLegacy(res.Request()).UseGlobal().Proc()
if err != nil {
return nil, err
}
Expand All @@ -139,7 +140,7 @@ var addPinCmd = &cmds.Command{
return nil, err
}

var added []core.APICid
var added []apicid.Hash

switch out := v.(type) {
case *AddPinOutput:
Expand Down Expand Up @@ -214,10 +215,11 @@ collected if needed. (By default, recursively. Use -r=false for direct pins.)
},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
err := HandleCidBaseLegacy(res.Request())
_, err := NewCidBaseHandlerLegacy(res.Request()).UseGlobal().Proc()
if err != nil {
return nil, err
}

v, err := unwrapOutput(res.Output())
if err != nil {
return nil, err
Expand Down Expand Up @@ -326,10 +328,6 @@ Example:
Type: RefKeyList{},
Marshalers: cmds.MarshalerMap{
cmds.Text: func(res cmds.Response) (io.Reader, error) {
err := HandleCidBaseLegacy(res.Request())
if err != nil {
return nil, err
}
v, err := unwrapOutput(res.Output())
if err != nil {
return nil, err
Expand Down Expand Up @@ -696,10 +694,10 @@ func (r PinVerifyRes) Format(out io.Writer) {
}
}

func toAPICids(cs []cid.Cid) []core.APICid {
out := make([]core.APICid, 0, len(cs))
func toAPICids(cs []cid.Cid) []apicid.Hash {
out := make([]apicid.Hash, 0, len(cs))
for _, c := range cs {
out = append(out, core.FromCid(c))
out = append(out, apicid.FromCid(c))
}
return out
}
Loading

0 comments on commit f7d408d

Please sign in to comment.