Add job for monitoring bw limit status of tokens

This commit is contained in:
Ben Adrian Sarmiento
2024-06-28 18:55:02 +02:00
parent c3aea427d0
commit 67111696a2
13 changed files with 136 additions and 55 deletions

View File

@@ -294,16 +294,15 @@ func (t *TorrentManager) mergeTorrents(existing, toMerge *Torrent) *Torrent {
newer.SelectedFiles.IterCb(func(key string, file *File) {
mergedTorrent.SelectedFiles.SetIfAbsent(key, file)
})
older.SelectedFiles.IterCb(func(key string, file *File) {
mediaInfo := file.MediaInfo
f, ok := mergedTorrent.SelectedFiles.Get(key)
if !ok || !f.State.Is("ok_file") {
mergedTorrent.SelectedFiles.Set(key, file)
older.SelectedFiles.IterCb(func(key string, olderFile *File) {
file, ok := mergedTorrent.SelectedFiles.Get(key)
if !ok || (file.State.Is("broken_file") && olderFile.State.Is("ok_file")) {
mergedTorrent.SelectedFiles.Set(key, olderFile)
}
// get the file again, set the media info
f, ok = mergedTorrent.SelectedFiles.Get(key)
if ok && f.MediaInfo == nil && mediaInfo != nil {
f.MediaInfo = mediaInfo
file, ok = mergedTorrent.SelectedFiles.Get(key)
if ok && file.MediaInfo == nil && olderFile.MediaInfo != nil {
file.MediaInfo = olderFile.MediaInfo
}
})