From d3a169ae191e5849f4dd076a02f1b0c7e4d8f066 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Fri, 7 Feb 2020 08:06:17 -0700 Subject: [PATCH] Fix listing buckets and also figure out how to do so --- cli/main.go | 12 ++++++------ minio.go | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cli/main.go b/cli/main.go index 41f5f95..a81a6c8 100755 --- a/cli/main.go +++ b/cli/main.go @@ -21,6 +21,8 @@ func main() { as.Append(args.STRING, "k", "key", "key") as.Append(args.STRING, "v", "value", "value") as.Append(args.STRING, "ns", "namespace", "") + as.Append(args.STRING, "min", "min key to list", "---") + as.Append(args.STRING, "max", "max key to list", "}}}") if err := as.Parse(); err != nil { panic(err) } @@ -40,12 +42,10 @@ func main() { switch strings.ToLower(as.Get("do").GetString()) { case "list": var c []string - var ns []string - if nss := as.Get("ns").GetString(); len(ns) > 0 { - ns = []string{nss} - } - c, err = db.List(ns, as.Get("k").GetString()) - b = []byte(fmt.Sprintf("%v", c)) + ns := strings.Split(as.Get("ns").GetString(), " ") + c, err = db.List(ns, as.Get("min").GetString(), as.Get("max").GetString()) + d := strings.Join(c, "\n\t") + b = []byte(fmt.Sprintf("%s", d)) case "get": b, err = db.Get(as.Get("k").GetString()) case "set": diff --git a/minio.go b/minio.go index 8a0bff3..e1c6089 100755 --- a/minio.go +++ b/minio.go @@ -30,6 +30,9 @@ func (m *Minio) List(ns []string, limits ...string) ([]string, error) { defer close(done) keys := []string{} for resp := range m.db.ListObjects(namespace, "", true, done) { + if resp.Err != nil { + return keys, resp.Err + } if resp.Key < limits[0] { continue } else if resp.Key > limits[1] {