pcloud: try harder to delete a failed upload

This fixes the integration tests when testing errored uploads
This commit is contained in:
Nick Craig-Wood 2021-09-17 10:04:53 +01:00
parent 9c2533821d
commit badefdb060
1 changed files with 8 additions and 4 deletions

View File

@ -1165,10 +1165,14 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
})
if err != nil {
// sometimes pcloud leaves a half complete file on
// error, so delete it if it exists
delObj, delErr := o.fs.NewObject(ctx, o.remote)
if delErr == nil && delObj != nil {
_ = delObj.Remove(ctx)
// error, so delete it if it exists, trying a few times
for i := 0; i < 5; i++ {
delObj, delErr := o.fs.NewObject(ctx, o.remote)
if delErr == nil && delObj != nil {
_ = delObj.Remove(ctx)
break
}
time.Sleep(time.Second)
}
return err
}