Track deletes within refresh
This commit is contained in:
@@ -38,8 +38,7 @@ type TorrentManager struct {
|
||||
RepairKillSwitch chan struct{}
|
||||
RemountTrigger chan struct{}
|
||||
|
||||
latestState *LibraryState
|
||||
allAccessKeys mapset.Set[string]
|
||||
latestState *LibraryState
|
||||
|
||||
fixers cmap.ConcurrentMap[string, string] // trigger -> [command, id]
|
||||
repairTrigger chan *Torrent
|
||||
@@ -69,8 +68,7 @@ func NewTorrentManager(cfg config.ConfigInterface, api *realdebrid.RealDebrid, w
|
||||
RepairKillSwitch: make(chan struct{}, 1),
|
||||
RemountTrigger: make(chan struct{}, 1),
|
||||
|
||||
latestState: &LibraryState{},
|
||||
allAccessKeys: mapset.NewSet[string](), // this is for tracking what is deleted
|
||||
latestState: &LibraryState{},
|
||||
}
|
||||
|
||||
t.fixers = t.readFixersFromFile()
|
||||
|
||||
@@ -80,12 +80,11 @@ func (t *TorrentManager) refreshTorrents(isInitialRun bool) []string {
|
||||
}
|
||||
}
|
||||
// removed torrents
|
||||
t.allAccessKeys.Difference(freshAccessKeys).Each(func(accessKey string) bool {
|
||||
allAccessKeys := mapset.NewSet[string](allTorrents.Keys()...)
|
||||
allAccessKeys.Difference(freshAccessKeys).Each(func(accessKey string) bool {
|
||||
t.Delete(accessKey, false)
|
||||
t.allAccessKeys.Remove(accessKey)
|
||||
return false
|
||||
})
|
||||
t.allAccessKeys.Append(freshAccessKeys.ToSlice()...)
|
||||
|
||||
t.log.Infof("Compiled into %d torrents, %d were missing info", allTorrents.Count(), noInfoCount)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user