cat and ls multifile
Juan Batiz-Benet committed
Jul 5, 2014 at 22:07 UTC
e4ee16fac1b99e1bf0a2d79c743910cd5f34f54b
3 files changed
+31
-24
cli/Makefile
+3
@@ -3,3 +3,6 @@ all: build
3
build:
4
go build
5
mv cli ipfs
6
+
7
+install: build
8
+ cp ipfs /usr/local/bin/ipfs
cli/cat.go
+13
-11
@@ -25,22 +25,24 @@ func catCmd(c *commander.Command, inp []string) error {
25
return nil
26
}
27
28
- // for now only hashes, no path resolution
29
- h, err := mh.FromB58String(inp[0])
30
- if err != nil {
31
- return err
32
- }
33
-
28
n, err := localNode()
29
if err != nil {
30
return err
31
}
32
39
- nd, err := n.GetDagNode(u.Key(h))
40
- if err != nil {
41
- return err
42
- }
33
+ for _, fn := range inp {
34
+ // for now only hashes, no path resolution
35
+ h, err := mh.FromB58String(fn)
36
+ if err != nil {
37
+ return err
38
+ }
39
44
- u.POut("%s", nd.Data)
40
+ nd, err := n.GetDagNode(u.Key(h))
41
+ if err != nil {
42
+ return err
43
+ }
44
+
45
+ u.POut("%s", nd.Data)
46
+ }
47
return nil
48
}
cli/ls.go
+15
-13
@@ -28,24 +28,26 @@ func lsCmd(c *commander.Command, inp []string) error {
28
return nil
29
}
30
31
- // for now only hashes, no path resolution
32
- h, err := mh.FromB58String(inp[0])
33
- if err != nil {
34
- return err
35
- }
36
-
31
n, err := localNode()
32
if err != nil {
33
return err
34
}
35
42
- nd, err := n.GetDagNode(u.Key(h))
43
- if err != nil {
44
- return err
45
- }
46
-
47
- for _, link := range nd.Links {
48
- u.POut("%s %d %s\n", link.Hash.B58String(), link.Size, link.Name)
36
+ for _, fn := range inp {
37
+ // for now only hashes, no path resolution
38
+ h, err := mh.FromB58String(fn)
39
+ if err != nil {
40
+ return err
41
+ }
42
+
43
+ nd, err := n.GetDagNode(u.Key(h))
44
+ if err != nil {
45
+ return err
46
+ }
47
+
48
+ for _, link := range nd.Links {
49
+ u.POut("%s %d %s\n", link.Hash.B58String(), link.Size, link.Name)
50
+ }
51
}
52
return nil
53
}