From fc5a4c516b28e8bb0e4e467f69deff950e37fad3 Mon Sep 17 00:00:00 2001 From: Mir Shahriar Date: Mon, 21 Aug 2017 17:55:50 +0600 Subject: [PATCH] Support directory delete option (#14) --- cmds/rm.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/cmds/rm.go b/cmds/rm.go index 10a4ffe1..66bcd9f4 100644 --- a/cmds/rm.go +++ b/cmds/rm.go @@ -5,6 +5,7 @@ import ( "github.com/appscode/go-term" otx "github.com/appscode/osm/context" + "github.com/graymeta/stow" "github.com/spf13/cobra" ) @@ -51,7 +52,18 @@ func removeItem(req *itemRemoveRequest, configPath string) { c, err := loc.Container(req.container) term.ExitOnError(err) - err = c.RemoveItem(req.itemID) - term.ExitOnError(err) - term.Successln("Successfully removed item " + req.itemID) + cursor := stow.CursorStart + for { + items, next, err := c.Items(req.itemID, cursor, 50) + term.ExitOnError(err) + for _, item := range items { + err = c.RemoveItem(item.ID()) + term.ExitOnError(err) + term.Successln("Successfully removed item " + item.ID()) + } + cursor = next + if stow.IsCursorEnd(cursor) { + break + } + } }