quick repair bug fix

This commit is contained in:
Ben Sarmiento
2023-10-26 04:04:21 +02:00
parent 215dc42f65
commit 0f5f0cf32f

View File

@@ -520,18 +520,24 @@ func (t *TorrentManager) repair(torrentID string, selectedFiles []File, tryReins
// or if there's only 1 missing file, we will download 1 more to prevent a rename
missingFilesPlus1 := strings.Join(getFileIDs(missingFiles), ",")
missingFilesPlus1 += fmt.Sprintf(",%d", otherStreamableFileIDs[0])
log.Println("Trying to reinsert with 1 extra file", missingFilesPlus1)
t.reinsertTorrent(torrent, missingFilesPlus1, false)
} else {
} else if len(selectedFiles) > 1 {
// if not, last resort: add only the missing files but do it in 2 batches
half := len(missingFiles) / 2
missingFiles1 := strings.Join(getFileIDs(missingFiles[:half]), ",")
missingFiles2 := strings.Join(getFileIDs(missingFiles[half:]), ",")
if missingFiles1 != "" {
log.Println("Trying to reinsert with 1/2 batches", missingFiles1)
t.reinsertTorrent(torrent, missingFiles1, false)
}
if missingFiles2 != "" {
log.Println("Trying to reinsert with 2/2 batches", missingFiles2)
t.reinsertTorrent(torrent, missingFiles2, false)
}
} else {
log.Println("Cannot repair", torrent.Name)
return
}
log.Println("Waiting for downloads to finish")
}