Make DeleteFile and DeleteFiles return errors
This commit is contained in:
parent
ab43005422
commit
3ad8fb8634
2 changed files with 181 additions and 25 deletions
|
@ -433,21 +433,25 @@ func (f *Fs) Precision() time.Duration {
|
|||
func (f *Fs) Purge() error {
|
||||
// Delete all the files including the directory markers
|
||||
toBeDeleted := make(chan fs.Object, fs.Config.Transfers)
|
||||
var err error
|
||||
delErr := make(chan error, 1)
|
||||
go func() {
|
||||
err = f.list("", fs.MaxLevel, func(remote string, object *swift.Object, isDirectory bool) error {
|
||||
if !isDirectory {
|
||||
o, err := f.newObjectWithInfo(remote, object)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
toBeDeleted <- o
|
||||
}
|
||||
return nil
|
||||
})
|
||||
close(toBeDeleted)
|
||||
delErr <- fs.DeleteFiles(toBeDeleted)
|
||||
}()
|
||||
fs.DeleteFiles(toBeDeleted)
|
||||
err := f.list("", fs.MaxLevel, func(remote string, object *swift.Object, isDirectory bool) error {
|
||||
if !isDirectory {
|
||||
o, err := f.newObjectWithInfo(remote, object)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
toBeDeleted <- o
|
||||
}
|
||||
return nil
|
||||
})
|
||||
close(toBeDeleted)
|
||||
delError := <-delErr
|
||||
if err == nil {
|
||||
err = delError
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue