fix: set progress to 100 when it's NaN (close #5906)

pull/5921/head
Andy Hsu 2024-01-20 13:06:46 +08:00
parent a8c900d09e
commit 4f7761fe2c
3 changed files with 12 additions and 3 deletions

View File

@ -3,10 +3,11 @@ package aria2
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/alist-org/alist/v3/internal/errs"
"strconv" "strconv"
"time" "time"
"github.com/alist-org/alist/v3/internal/errs"
"github.com/alist-org/alist/v3/internal/conf" "github.com/alist-org/alist/v3/internal/conf"
"github.com/alist-org/alist/v3/internal/model" "github.com/alist-org/alist/v3/internal/model"
"github.com/alist-org/alist/v3/internal/offline_download/tool" "github.com/alist-org/alist/v3/internal/offline_download/tool"

View File

@ -2,13 +2,14 @@ package tool
import ( import (
"fmt" "fmt"
"time"
"github.com/alist-org/alist/v3/internal/conf" "github.com/alist-org/alist/v3/internal/conf"
"github.com/alist-org/alist/v3/internal/errs" "github.com/alist-org/alist/v3/internal/errs"
"github.com/alist-org/alist/v3/internal/setting" "github.com/alist-org/alist/v3/internal/setting"
"github.com/pkg/errors" "github.com/pkg/errors"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/xhofe/tache" "github.com/xhofe/tache"
"time"
) )
type DownloadTask struct { type DownloadTask struct {

View File

@ -1,6 +1,8 @@
package handles package handles
import ( import (
"math"
"github.com/alist-org/alist/v3/internal/fs" "github.com/alist-org/alist/v3/internal/fs"
"github.com/alist-org/alist/v3/internal/offline_download/tool" "github.com/alist-org/alist/v3/internal/offline_download/tool"
"github.com/alist-org/alist/v3/pkg/utils" "github.com/alist-org/alist/v3/pkg/utils"
@ -23,12 +25,17 @@ func getTaskInfo[T tache.TaskWithInfo](task T) TaskInfo {
if task.GetErr() != nil { if task.GetErr() != nil {
errMsg = task.GetErr().Error() errMsg = task.GetErr().Error()
} }
progress := task.GetProgress()
// if progress is NaN, set it to 100
if math.IsNaN(progress) {
progress = 100
}
return TaskInfo{ return TaskInfo{
ID: task.GetID(), ID: task.GetID(),
Name: task.GetName(), Name: task.GetName(),
State: task.GetState(), State: task.GetState(),
Status: task.GetStatus(), Status: task.GetStatus(),
Progress: task.GetProgress(), Progress: progress,
Error: errMsg, Error: errMsg,
} }
} }