@cryptotaxi247 / kubo / commits / 4c5a5c8a8

more cleanup, update cboripld package

License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed Oct 28, 2016 at 12:56 UTC 4c5a5c8a8f8bec697467b94d04401068eee8faee
3 files changed +5 -71
core/commands/dag/dag.go
+2 -68
@@ -1,16 +1,15 @@
1 package dagcmd
2
3 import (
4 - "encoding/json"
4 "fmt"
5 "io"
6 "strings"
7
8 cmds "github.com/ipfs/go-ipfs/commands"
9
10 + ipldcbor "gx/ipfs/QmRcAVqrbY5wryx7hfNLtiUZbCcstzaJL7YJFBboitcqWF/go-ipld-cbor"
11 node "gx/ipfs/QmU7bFWQ793qmvNy7outdCaMfSDNk8uqhx4VNrxYj5fj5g/go-ipld-node"
12 cid "gx/ipfs/QmXfiyr2RWEXpVDdaYnD2HNiBk6UBddsvEP4RPfXb6nGqY/go-cid"
13 - ipldcbor "gx/ipfs/QmY7L2aEa1rHjkSSbXJB8oC7825JTpUUvDygmM2JPQeqhr/go-ipld-cbor"
13 )
14
15 var DagCmd = &cmds.Command{
@@ -18,7 +17,6 @@ var DagCmd = &cmds.Command{
17 Tagline: "Interact with ipld dag objects.",
18 ShortDescription: ``,
19 },
21 -
20 Subcommands: map[string]*cmds.Command{
21 "put": DagPutCmd,
22 "get": DagGetCmd,
@@ -121,76 +119,12 @@ var DagGetCmd = &cmds.Command{
119 }
120
121 func convertJsonToType(r io.Reader, format string) (node.Node, error) {
124 - var obj map[string]interface{}
125 - err := json.NewDecoder(r).Decode(&obj)
126 - if err != nil {
127 - return nil, err
128 - }
129 -
122 switch format {
123 case "cbor", "dag-cbor":
132 - return convertJsonToCbor(obj)
124 + return ipldcbor.FromJson(r)
125 case "dag-pb", "protobuf":
126 return nil, fmt.Errorf("protobuf handling in 'dag' command not yet implemented")
127 default:
128 return nil, fmt.Errorf("unknown target format: %s", format)
129 }
130 }
139 -
140 -func convertJsonToCbor(from map[string]interface{}) (*ipldcbor.Node, error) {
141 - out, err := convertMapSIToCbor(from)
142 - if err != nil {
143 - return nil, err
144 - }
145 -
146 - return ipldcbor.WrapMap(out)
147 -}
148 -
149 -func convertMapSIToCbor(from map[string]interface{}) (map[interface{}]interface{}, error) {
150 - to := make(map[interface{}]interface{})
151 - for k, v := range from {
152 - out, err := convertToCborIshObj(v)
153 - if err != nil {
154 - return nil, err
155 - }
156 - to[k] = out
157 - }
158 -
159 - return to, nil
160 -}
161 -
162 -func convertToCborIshObj(i interface{}) (interface{}, error) {
163 - switch v := i.(type) {
164 - case map[string]interface{}:
165 - if lnk, ok := v["/"]; ok && len(v) == 1 {
166 - // special case for links
167 - vstr, ok := lnk.(string)
168 - if !ok {
169 - return nil, fmt.Errorf("link should have been a string")
170 - }
171 -
172 - c, err := cid.Decode(vstr)
173 - if err != nil {
174 - return nil, err
175 - }
176 -
177 - return &ipldcbor.Link{Target: c}, nil
178 - }
179 -
180 - return convertMapSIToCbor(v)
181 - case []interface{}:
182 - var out []interface{}
183 - for _, o := range v {
184 - obj, err := convertToCborIshObj(o)
185 - if err != nil {
186 - return nil, err
187 - }
188 -
189 - out = append(out, obj)
190 - }
191 -
192 - return out, nil
193 - default:
194 - return v, nil
195 - }
196 -}
merkledag/merkledag.go
+1 -1
@@ -11,10 +11,10 @@ import (
11 bserv "github.com/ipfs/go-ipfs/blockservice"
12 offline "github.com/ipfs/go-ipfs/exchange/offline"
13
14 + ipldcbor "gx/ipfs/QmRcAVqrbY5wryx7hfNLtiUZbCcstzaJL7YJFBboitcqWF/go-ipld-cbor"
15 logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
16 node "gx/ipfs/QmU7bFWQ793qmvNy7outdCaMfSDNk8uqhx4VNrxYj5fj5g/go-ipld-node"
17 cid "gx/ipfs/QmXfiyr2RWEXpVDdaYnD2HNiBk6UBddsvEP4RPfXb6nGqY/go-cid"
17 - ipldcbor "gx/ipfs/QmY7L2aEa1rHjkSSbXJB8oC7825JTpUUvDygmM2JPQeqhr/go-ipld-cbor"
18 )
19
20 var log = logging.Logger("merkledag")
package.json
+2 -2
@@ -278,9 +278,9 @@
278 },
279 {
280 "author": "whyrusleeping",
281 - "hash": "QmY7L2aEa1rHjkSSbXJB8oC7825JTpUUvDygmM2JPQeqhr",
281 + "hash": "QmRcAVqrbY5wryx7hfNLtiUZbCcstzaJL7YJFBboitcqWF",
282 "name": "go-ipld-cbor",
283 - "version": "0.2.2"
283 + "version": "0.3.0"
284 }
285 ],
286 "gxVersion": "0.4.0",