Delete command which does obey the filters - fixes #327

This commit is contained in:
Nick Craig-Wood
2015-12-02 22:25:32 +00:00
parent 5c37b777fc
commit 1373efaa39
5 changed files with 74 additions and 3 deletions

View File

@@ -891,3 +891,20 @@ func Purge(f Fs) error {
}
return nil
}
// Delete removes all the contents of a container. Unlike Purge, it
// obeys includes and excludes.
func Delete(f Fs) error {
wg := new(sync.WaitGroup)
delete := make(ObjectsChan, Config.Transfers)
wg.Add(1)
go func() {
defer wg.Done()
DeleteFiles(delete)
}()
err := ListFn(f, func(o Object) {
delete <- o
})
close(delete)
return err
}