Skip to content

Commit 0835bab

Browse files
committed
Duplicate logical merge and new counter
1 parent 7ac4494 commit 0835bab

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

drivers/baidu_netdisk/driver.go

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,8 @@ uploadLoop:
304304
}
305305

306306
totalParts := len(precreateResp.BlockList)
307+
doneParts := 0 // 新增计数器
308+
307309
for i, partseq := range precreateResp.BlockList {
308310
if utils.IsCanceled(upCtx) || partseq < 0 {
309311
continue
@@ -328,15 +330,9 @@ uploadLoop:
328330
return err
329331
}
330332
precreateResp.BlockList[i] = -1
331-
// 进度
332-
done := 0
333-
for _, v := range precreateResp.BlockList {
334-
if v < 0 {
335-
done++
336-
}
337-
}
333+
doneParts++ // 直接递增计数器
338334
if totalParts > 0 {
339-
up(float64(done) * 100.0 / float64(totalParts))
335+
up(float64(doneParts) * 100.0 / float64(totalParts))
340336
}
341337
return nil
342338
})
@@ -413,13 +409,13 @@ func (d *BaiduNetdisk) uploadSlice(ctx context.Context, params map[string]string
413409
errNo := utils.Json.Get(res.Body(), "errno").ToInt()
414410
respStr := res.String()
415411
lower := strings.ToLower(respStr)
416-
if strings.Contains(lower, "uploadid") && (strings.Contains(lower, "invalid") || strings.Contains(lower, "expired") || strings.Contains(lower, "not found")) {
412+
// 合并 uploadid 过期检测逻辑
413+
if strings.Contains(lower, "uploadid") &&
414+
(strings.Contains(lower, "invalid") || strings.Contains(lower, "expired") || strings.Contains(lower, "not found")) {
417415
return ErrUploadIDExpired
418416
}
417+
419418
if errCode != 0 || errNo != 0 {
420-
if strings.Contains(lower, "invalid uploadid") {
421-
return ErrUploadIDExpired
422-
}
423419
return errs.NewErr(errs.StreamIncomplete, "error uploading to baidu, response=%s", res.String())
424420
}
425421
return nil

0 commit comments

Comments
 (0)