mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-25 12:27:43 +08:00
files2.0: Use new type helpers
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
parent
eb1ecf8789
commit
b85ecb848a
@ -19,6 +19,7 @@ import (
|
||||
"gx/ipfs/QmYyzmMnhNTtoXx5ttgUaRdHHckYnQWjPL98hgLAR2QLDD/go-ipfs-config"
|
||||
"gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
"gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -89,12 +90,12 @@ environment variable:
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
conf = &config.Config{}
|
||||
if err := json.NewDecoder(it.File()).Decode(conf); err != nil {
|
||||
if err := json.NewDecoder(files.FileFrom(it)).Decode(conf); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,6 +13,7 @@ import (
|
||||
|
||||
cmds "gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
mh "gx/ipfs/QmerPMzPk1mJVowm8KgmoknWa4yCYvvugMPsgWmDNUvDLW/go-multihash"
|
||||
)
|
||||
|
||||
@ -157,7 +158,7 @@ than 'sha2-256' or format to anything other than 'v0' will result in CIDv1.
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
@ -181,7 +182,7 @@ than 'sha2-256' or format to anything other than 'v0' will result in CIDv1.
|
||||
}
|
||||
}
|
||||
|
||||
p, err := api.Block().Put(req.Context, it.File(), options.Block.Hash(mhtval, mhlen), options.Block.Format(format))
|
||||
p, err := api.Block().Put(req.Context, files.FileFrom(it), options.Block.Hash(mhtval, mhlen), options.Block.Format(format))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@ import (
|
||||
config "gx/ipfs/QmYyzmMnhNTtoXx5ttgUaRdHHckYnQWjPL98hgLAR2QLDD/go-ipfs-config"
|
||||
cmds "gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
)
|
||||
|
||||
// ConfigUpdateOutput is config profile apply command's output
|
||||
@ -284,10 +285,10 @@ can't be undone.
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
file := it.File()
|
||||
file := files.FileFrom(it)
|
||||
defer file.Close()
|
||||
|
||||
return replaceConfig(r, file)
|
||||
|
||||
@ -14,6 +14,7 @@ import (
|
||||
cmds "gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
ipld "gx/ipfs/QmcKKBwfz6FyQdHR2jsXrrF6XeSBXYL86anmWNewpFpoF5/go-ipld-format"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
mh "gx/ipfs/QmerPMzPk1mJVowm8KgmoknWa4yCYvvugMPsgWmDNUvDLW/go-multihash"
|
||||
)
|
||||
|
||||
@ -94,10 +95,10 @@ into an object of the specified format.
|
||||
|
||||
it := req.Files.Entries()
|
||||
for it.Next() {
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
nds, err := coredag.ParseInputs(ienc, format, it.File(), mhType, -1)
|
||||
nds, err := coredag.ParseInputs(ienc, format, files.FileFrom(it), mhType, -1)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import (
|
||||
logging "gx/ipfs/QmcuXC5cxs79ro2cUuHs4HQ2bkDLJUYokwL8aivcX6HW3C/go-log"
|
||||
dag "gx/ipfs/QmdV35UHnL1FM52baPkeUo6u7Fxm2CRUkPTLRPxeF8a4Ap/go-merkledag"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
mh "gx/ipfs/QmerPMzPk1mJVowm8KgmoknWa4yCYvvugMPsgWmDNUvDLW/go-multihash"
|
||||
)
|
||||
|
||||
@ -773,11 +774,11 @@ stat' on the file or any of its ancestors.
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
var r io.Reader = it.File()
|
||||
var r io.Reader = files.FileFrom(it)
|
||||
if countfound {
|
||||
r = io.LimitReader(r, int64(count))
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import (
|
||||
ipld "gx/ipfs/QmcKKBwfz6FyQdHR2jsXrrF6XeSBXYL86anmWNewpFpoF5/go-ipld-format"
|
||||
dag "gx/ipfs/QmdV35UHnL1FM52baPkeUo6u7Fxm2CRUkPTLRPxeF8a4Ap/go-merkledag"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
)
|
||||
|
||||
type Node struct {
|
||||
@ -395,7 +396,7 @@ And then run:
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
@ -414,7 +415,7 @@ And then run:
|
||||
return err
|
||||
}
|
||||
|
||||
p, err := api.Object().Put(req.Context, it.File(),
|
||||
p, err := api.Object().Put(req.Context, files.FileFrom(it),
|
||||
options.Object.DataType(datafieldenc),
|
||||
options.Object.InputEnc(inputenc),
|
||||
options.Object.Pin(dopin))
|
||||
|
||||
@ -10,6 +10,7 @@ import (
|
||||
|
||||
"gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
"gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
"gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
)
|
||||
|
||||
var ObjectPatchCmd = &cmds.Command{
|
||||
@ -64,11 +65,11 @@ the limit will not be respected by the network.
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
p, err := api.Object().AppendData(req.Context, root, it.File())
|
||||
p, err := api.Object().AppendData(req.Context, root, files.FileFrom(it))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -114,11 +115,11 @@ Example:
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
p, err := api.Object().SetData(req.Context, root, it.File())
|
||||
p, err := api.Object().SetData(req.Context, root, files.FileFrom(it))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -13,6 +13,7 @@ import (
|
||||
cmds "gx/ipfs/QmaAP56JAwdjwisPTu4yx17whcjTr6y5JCSCF77Y1rahWV/go-ipfs-cmds"
|
||||
dag "gx/ipfs/QmdV35UHnL1FM52baPkeUo6u7Fxm2CRUkPTLRPxeF8a4Ap/go-merkledag"
|
||||
cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
|
||||
files "gx/ipfs/QmeaQRmnRog7NxLEWHP9zSTkics4cbgwBVa7q49LmBowDr/go-ipfs-files"
|
||||
)
|
||||
|
||||
var TarCmd = &cmds.Command{
|
||||
@ -48,11 +49,11 @@ represent it.
|
||||
if !it.Next() && it.Err() != nil {
|
||||
return it.Err()
|
||||
}
|
||||
if it.File() == nil {
|
||||
if files.FileFrom(it) == nil {
|
||||
return fmt.Errorf("expected a regular file")
|
||||
}
|
||||
|
||||
node, err := tar.ImportTar(req.Context, it.File(), nd.DAG)
|
||||
node, err := tar.ImportTar(req.Context, files.FileFrom(it), nd.DAG)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"github.com/ipfs/go-ipfs/core"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"path"
|
||||
"testing"
|
||||
@ -20,7 +19,7 @@ import (
|
||||
var rnd = rand.New(rand.NewSource(0x62796532303137))
|
||||
|
||||
func addTestObject(ctx context.Context, api coreiface.CoreAPI) (coreiface.Path, error) {
|
||||
return api.Unixfs().Add(ctx, files.NewReaderFile(ioutil.NopCloser(&io.LimitedReader{R: rnd, N: 4092}), nil))
|
||||
return api.Unixfs().Add(ctx, files.FileFrom(&io.LimitedReader{R: rnd, N: 4092}))
|
||||
}
|
||||
|
||||
func appendPath(p coreiface.Path, sub string) coreiface.Path {
|
||||
|
||||
@ -42,16 +42,6 @@ func (it *ufsIterator) Node() files.Node {
|
||||
return it.curFile
|
||||
}
|
||||
|
||||
func (it *ufsIterator) File() files.File {
|
||||
f, _ := it.curFile.(files.File)
|
||||
return f
|
||||
}
|
||||
|
||||
func (it *ufsIterator) Dir() files.Directory {
|
||||
d, _ := it.curFile.(files.Directory)
|
||||
return d
|
||||
}
|
||||
|
||||
func (it *ufsIterator) Next() bool {
|
||||
l, ok := <-it.files
|
||||
if !ok {
|
||||
|
||||
@ -136,34 +136,34 @@ func makeAPI(ctx context.Context) (*core.IpfsNode, coreiface.CoreAPI, error) {
|
||||
|
||||
func strFile(data string) func() files.Node {
|
||||
return func() files.Node {
|
||||
return files.NewReaderFile(ioutil.NopCloser(strings.NewReader(data)), nil)
|
||||
return files.FileFrom([]byte(data))
|
||||
}
|
||||
}
|
||||
|
||||
func twoLevelDir() func() files.Node {
|
||||
return func() files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("abc", files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("def", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("world")), nil)),
|
||||
})),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
"abc": files.DirFrom(map[string]files.Node{
|
||||
"def": files.FileFrom([]byte("world")),
|
||||
}),
|
||||
|
||||
files.FileEntry("bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("foo", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello1")), nil)),
|
||||
"bar": files.FileFrom([]byte("hello2")),
|
||||
"foo": files.FileFrom([]byte("hello1")),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func flatDir() files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("foo", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello1")), nil)),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
"bar": files.FileFrom([]byte("hello2")),
|
||||
"foo": files.FileFrom([]byte("hello1")),
|
||||
})
|
||||
}
|
||||
|
||||
func wrapped(name string) func(f files.Node) files.Node {
|
||||
return func(f files.Node) files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry(name, f),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
name: f,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -296,7 +296,7 @@ func TestAdd(t *testing.T) {
|
||||
name: "addWrapped",
|
||||
path: "/ipfs/QmVE9rNpj5doj7XHzp5zMUxD7BJgXEqx4pe3xZ3JBReWHE",
|
||||
data: func() files.Node {
|
||||
return files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)
|
||||
return files.FileFrom([]byte(helloStr))
|
||||
},
|
||||
wrap: "foo",
|
||||
expect: wrapped("foo"),
|
||||
@ -306,7 +306,7 @@ func TestAdd(t *testing.T) {
|
||||
name: "addNotWrappedDirFile",
|
||||
path: hello,
|
||||
data: func() files.Node {
|
||||
return files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)
|
||||
return files.FileFrom([]byte(helloStr))
|
||||
},
|
||||
wrap: "foo",
|
||||
},
|
||||
@ -314,11 +314,11 @@ func TestAdd(t *testing.T) {
|
||||
name: "stdinWrapped",
|
||||
path: "/ipfs/QmU3r81oZycjHS9oaSHw37ootMFuFUw1DvMLKXPsezdtqU",
|
||||
data: func() files.Node {
|
||||
return files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)
|
||||
return files.FileFrom([]byte(helloStr))
|
||||
},
|
||||
expect: func(files.Node) files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("QmQy2Dw4Wk7rdJKjThjYXzfFJNaRKRHhHP5gHHXroJMYxk", files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
"QmQy2Dw4Wk7rdJKjThjYXzfFJNaRKRHhHP5gHHXroJMYxk": files.FileFrom([]byte(helloStr)),
|
||||
})
|
||||
},
|
||||
opts: []options.UnixfsAddOption{options.Unixfs.Wrap(true)},
|
||||
@ -335,8 +335,8 @@ func TestAdd(t *testing.T) {
|
||||
return rf
|
||||
},
|
||||
expect: func(files.Node) files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("test", files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
"test": files.FileFrom([]byte(helloStr)),
|
||||
})
|
||||
},
|
||||
opts: []options.UnixfsAddOption{options.Unixfs.Wrap(true), options.Unixfs.StdinName("test")},
|
||||
@ -361,10 +361,10 @@ func TestAdd(t *testing.T) {
|
||||
{
|
||||
name: "hiddenFiles",
|
||||
data: func() files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry(".bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("foo", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello1")), nil)),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
".bar": files.FileFrom([]byte("hello2")),
|
||||
"bar": files.FileFrom([]byte("hello2")),
|
||||
"foo": files.FileFrom([]byte("hello1")),
|
||||
})
|
||||
},
|
||||
wrap: "t",
|
||||
@ -374,7 +374,7 @@ func TestAdd(t *testing.T) {
|
||||
{
|
||||
name: "hiddenFileAlwaysAdded",
|
||||
data: func() files.Node {
|
||||
return files.NewReaderFile(ioutil.NopCloser(strings.NewReader(helloStr)), nil)
|
||||
return files.FileFrom([]byte(helloStr))
|
||||
},
|
||||
wrap: ".foo",
|
||||
path: hello,
|
||||
@ -382,10 +382,10 @@ func TestAdd(t *testing.T) {
|
||||
{
|
||||
name: "hiddenFilesNotAdded",
|
||||
data: func() files.Node {
|
||||
return files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry(".bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("bar", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello2")), nil)),
|
||||
files.FileEntry("foo", files.NewReaderFile(ioutil.NopCloser(strings.NewReader("hello1")), nil)),
|
||||
return files.DirFrom(map[string]files.Node{
|
||||
".bar": files.FileFrom([]byte("hello2")),
|
||||
"bar": files.FileFrom([]byte("hello2")),
|
||||
"foo": files.FileFrom([]byte("hello1")),
|
||||
})
|
||||
},
|
||||
expect: func(files.Node) files.Node {
|
||||
@ -432,8 +432,7 @@ func TestAdd(t *testing.T) {
|
||||
{
|
||||
name: "progress1M",
|
||||
data: func() files.Node {
|
||||
r := bytes.NewReader(bytes.Repeat([]byte{0}, 1000000))
|
||||
return files.NewReaderFile(ioutil.NopCloser(r), nil)
|
||||
return files.FileFrom(bytes.NewReader(bytes.Repeat([]byte{0}, 1000000)))
|
||||
},
|
||||
path: "/ipfs/QmXXNNbwe4zzpdMg62ZXvnX1oU7MwSrQ3vAEtuwFKCm1oD",
|
||||
events: []coreiface.AddEvent{
|
||||
|
||||
@ -71,20 +71,18 @@ func TestAddGCLive(t *testing.T) {
|
||||
}
|
||||
adder.Out = out
|
||||
|
||||
dataa := ioutil.NopCloser(bytes.NewBufferString("testfileA"))
|
||||
rfa := files.NewReaderFile(dataa, nil)
|
||||
rfa := files.FileFrom([]byte("testfileA"))
|
||||
|
||||
// make two files with pipes so we can 'pause' the add for timing of the test
|
||||
piper, pipew := io.Pipe()
|
||||
hangfile := files.NewReaderFile(piper, nil)
|
||||
hangfile := files.FileFrom(piper)
|
||||
|
||||
datad := ioutil.NopCloser(bytes.NewBufferString("testfileD"))
|
||||
rfd := files.NewReaderFile(datad, nil)
|
||||
rfd := files.FileFrom([]byte("testfileD"))
|
||||
|
||||
slf := files.NewSliceFile([]files.DirEntry{
|
||||
files.FileEntry("a", rfa),
|
||||
files.FileEntry("b", hangfile),
|
||||
files.FileEntry("d", rfd),
|
||||
slf := files.DirFrom(map[string]files.Node{
|
||||
"a": rfa,
|
||||
"b": hangfile,
|
||||
"d": rfd,
|
||||
})
|
||||
|
||||
addDone := make(chan struct{})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user