@cryptotaxi247 / kubo / commits / 71ac11754

Address concerns in PR

Jeromy committed Oct 30, 2014 at 06:23 UTC 71ac117546689a0e9f1ff21c18774b57203c5fb4
2 files changed +14 -13
core/commands/add.go
+11 -1
@@ -10,8 +10,11 @@ import (
10
11 "github.com/jbenet/go-ipfs/core"
12 "github.com/jbenet/go-ipfs/importer"
13 + "github.com/jbenet/go-ipfs/importer/chunk"
14 dag "github.com/jbenet/go-ipfs/merkledag"
15 + "github.com/jbenet/go-ipfs/pin"
16 ft "github.com/jbenet/go-ipfs/unixfs"
17 + uio "github.com/jbenet/go-ipfs/unixfs/io"
18 )
19
20 // Error indicating the max depth has been exceded.
@@ -87,7 +90,14 @@ func addDir(n *core.IpfsNode, fpath string, depth int, out io.Writer) (*dag.Node
90 }
91
92 func addFile(n *core.IpfsNode, fpath string, depth int, out io.Writer) (*dag.Node, error) {
90 - root, err := importer.NewDagFromFileWServer(fpath, n.DAG, n.Pinning)
93 + dw := uio.NewDagWriter(n.DAG, chunk.DefaultSplitter)
94 + mp, ok := n.Pinning.(pin.ManualPinner)
95 + if !ok {
96 + return nil, errors.New("invalid pinner type! expected manual pinner")
97 + }
98 + dw.Pinner = mp
99 +
100 + root, err := importer.ImportFileDag(fpath, dw)
101 if err != nil {
102 return nil, err
103 }
importer/importer.go
+3 -12
@@ -1,14 +1,12 @@
1 package importer
2
3 import (
4 - "errors"
4 "fmt"
5 "io"
6 "os"
7
8 "github.com/jbenet/go-ipfs/importer/chunk"
9 dag "github.com/jbenet/go-ipfs/merkledag"
11 - "github.com/jbenet/go-ipfs/pin"
10 ft "github.com/jbenet/go-ipfs/unixfs"
11 uio "github.com/jbenet/go-ipfs/unixfs/io"
12 "github.com/jbenet/go-ipfs/util"
@@ -76,7 +74,7 @@ func NewDagFromFile(fpath string) (*dag.Node, error) {
74 return NewDagFromReader(f)
75 }
76
79 -func NewDagFromFileWServer(fpath string, dserv dag.DAGService, p pin.Pinner) (*dag.Node, error) {
77 +func ImportFileDag(fpath string, dw *uio.DagWriter) (*dag.Node, error) {
78 stat, err := os.Stat(fpath)
79 if err != nil {
80 return nil, err
@@ -92,17 +90,10 @@ func NewDagFromFileWServer(fpath string, dserv dag.DAGService, p pin.Pinner) (*d
90 }
91 defer f.Close()
92
95 - return NewDagFromReaderWServer(f, dserv, p)
93 + return ImportReaderDag(f, dw)
94 }
95
98 -func NewDagFromReaderWServer(r io.Reader, dserv dag.DAGService, p pin.Pinner) (*dag.Node, error) {
99 - dw := uio.NewDagWriter(dserv, chunk.DefaultSplitter)
100 -
101 - mp, ok := p.(pin.ManualPinner)
102 - if !ok {
103 - return nil, errors.New("Needed to be passed a manual pinner!")
104 - }
105 - dw.Pinner = mp
96 +func ImportReaderDag(r io.Reader, dw *uio.DagWriter) (*dag.Node, error) {
97 _, err := io.Copy(dw, r)
98 if err != nil {
99 return nil, err