Files
MeBox/internal/service/qbittorrent_convert.go
T
2026-08-10 21:04:04 +08:00

41 lines
1.1 KiB
Go

package service
// QBitTorrentToInfo 将旧的 QBitTorrent 转换为新的 TorrentInfo。
func QBitTorrentToInfo(q QBitTorrent) TorrentInfo {
return TorrentInfo{
Hash: q.Hash,
Name: q.Name,
Size: q.Size,
Progress: float64(q.Progress),
DLSpeed: q.DLSpeed,
UPSpeed: q.UpSpeed,
State: q.State,
SavePath: q.SavePath,
NumSeeds: q.NumSeeds,
NumLeechs: q.NumLeech,
ContentPath: q.ContentPath,
CompletionOn: q.CompletionOn,
}
}
// TorrentInfoToQBit 将 TorrentInfo 转换回旧的 QBitTorrent 格式(兼容性)。
func TorrentInfoToQBit(t TorrentInfo) QBitTorrent {
return QBitTorrent{
Hash: t.Hash,
ClientID: "",
Source: "",
Name: t.Name,
State: canonicalTorrentState(t.State, t.Progress),
Progress: float32(normalizedTorrentProgress(t.Progress)),
DLSpeed: t.DLSpeed,
UpSpeed: t.UPSpeed,
NumSeeds: t.NumSeeds,
NumLeech: t.NumLeechs,
Size: t.Size,
SavePath: t.SavePath,
Category: t.Category,
ContentPath: t.ContentPath,
CompletionOn: t.CompletionOn,
}
}