diff --git a/internal/torrent/fixer.go b/internal/torrent/fixer.go index e44168c..b793834 100644 --- a/internal/torrent/fixer.go +++ b/internal/torrent/fixer.go @@ -3,7 +3,6 @@ package torrent import ( "io" "os" - "strings" "github.com/debridmediamanager/zurg/pkg/realdebrid" cmap "github.com/orcaman/concurrent-map/v2" @@ -59,30 +58,28 @@ func (t *TorrentManager) processFixers(instances []realdebrid.Torrent) { } // a new case: repaired_with: - if strings.HasPrefix(command, "repaired_with:") { - if instance.Progress != 100 { - t.fixers.Set(id, command) // requeue the fixer - continue - } - - otherId := strings.TrimPrefix(command, "repaired_with:") - for _, instance2 := range instances { - if instance2.ID == otherId { - if instance2.Progress != 100 { - t.fixers.Set(id, command) // requeue the fixer - break - } - torrent := t.getMoreInfo(instance2) - t.log.Debugf("Repairing torrent %s again now that fixers ids=%s and %s are done", t.GetKey(torrent), id, otherId) - repairMe, _ := allTorrents.Get(t.GetKey(torrent)) - toRedownload = append(toRedownload, repairMe) - toDelete = append(toDelete, id, otherId) - break - } - } - - continue - } + // if strings.HasPrefix(command, "repaired_with:") { + // if instance.Progress != 100 { + // t.fixers.Set(id, command) // requeue the fixer + // continue + // } + // otherId := strings.TrimPrefix(command, "repaired_with:") + // for _, instance2 := range instances { + // if instance2.ID == otherId { + // if instance2.Progress != 100 { + // t.fixers.Set(id, command) // requeue the fixer + // break + // } + // torrent := t.getMoreInfo(instance2) + // t.log.Debugf("Repairing torrent %s again now that fixers ids=%s and %s are done", t.GetKey(torrent), id, otherId) + // repairMe, _ := allTorrents.Get(t.GetKey(torrent)) + // toRedownload = append(toRedownload, repairMe) + // toDelete = append(toDelete, id, otherId) + // break + // } + // } + // continue + // } } infoCache, _ := t.DirectoryMap.Get(INT_INFO_CACHE) diff --git a/internal/torrent/repair.go b/internal/torrent/repair.go index 11ddd54..f7c24de 100644 --- a/internal/torrent/repair.go +++ b/internal/torrent/repair.go @@ -222,6 +222,7 @@ func (t *TorrentManager) repair(torrent *Torrent) { t.log.Infof("Repairing by downloading 2 batches of the broken %d files of torrent %s", len(brokenFiles), t.GetKey(torrent)) + oldTorrentIDs := torrent.DownloadedIDs.Union(torrent.InProgressIDs).ToSlice() // divide the broken files into 2 groups group1 := make([]*File, 0) group2 := make([]*File, 0) @@ -246,7 +247,9 @@ func (t *TorrentManager) repair(torrent *Torrent) { return } if redownloadedInfo2 != nil { - t.fixerAddCommand(redownloadedInfo2.ID, fmt.Sprintf("repaired_with:%s", redownloadedInfo1.ID)) + for _, oldId := range oldTorrentIDs { + t.fixerAddCommand(oldId, "replaced") + } return } }