core/commands/pin: refactor 'pin ls'
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Jan 12, 2016 at 21:54 UTC
c89e3c22ebb54ad26e3f93d94fe084aa0b7c0edc
1 file changed
+10
-14
core/commands/pin.go
+10
-14
@@ -212,13 +212,18 @@ Example:
212
}
213
214
keys := make(map[string]RefKeyObject)
215
- if typeStr == "direct" || typeStr == "all" {
216
- for _, k := range n.Pinning.DirectKeys() {
215
+
216
+ AddToResultKeys := func(keyList []key.Key, typeStr string) {
217
+ for _, k := range keyList {
218
keys[k.B58String()] = RefKeyObject{
218
- Type: "direct",
219
+ Type: typeStr,
220
}
221
}
222
}
223
+
224
+ if typeStr == "direct" || typeStr == "all" {
225
+ AddToResultKeys(n.Pinning.DirectKeys(), "direct")
226
+ }
227
if typeStr == "indirect" || typeStr == "all" {
228
ks := key.NewKeySet()
229
for _, k := range n.Pinning.RecursiveKeys() {
@@ -232,20 +237,11 @@ Example:
237
res.SetError(err, cmds.ErrNormal)
238
return
239
}
235
-
236
- }
237
- for _, k := range ks.Keys() {
238
- keys[k.B58String()] = RefKeyObject{
239
- Type: "indirect",
240
- }
240
}
241
+ AddToResultKeys(ks.Keys(), "indirect")
242
}
243
if typeStr == "recursive" || typeStr == "all" {
244
- for _, k := range n.Pinning.RecursiveKeys() {
245
- keys[k.B58String()] = RefKeyObject{
246
- Type: "recursive",
247
- }
248
- }
244
+ AddToResultKeys(n.Pinning.RecursiveKeys(), "recursive")
245
}
246
247
res.SetOutput(&RefKeyList{Keys: keys})