Protect against Qbittorrent edgecase if users add torrents manually with Keep top-level folder disabled

This commit is contained in:
Taloth Saldono 2020-11-14 18:49:58 +01:00
parent fe0d8bb7da
commit 05820ac272
1 changed files with 13 additions and 5 deletions

View File

@ -142,11 +142,6 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
SeedRatio = torrent.Ratio
};
if (version >= new Version("2.6.1"))
{
item.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(torrent.ContentPath));
}
// Avoid removing torrents that haven't reached the global max ratio.
// Removal also requires the torrent to be paused, in case a higher max ratio was set on the torrent itself (which is not exposed by the api).
item.CanMoveFiles = item.CanBeRemoved = (torrent.State == "pausedUP" && HasReachedSeedLimit(torrent, config));
@ -207,6 +202,19 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
break;
}
if (version >= new Version("2.6.1"))
{
if (torrent.ContentPath != torrent.SavePath)
{
item.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(torrent.ContentPath));
}
else if (item.Status == DownloadItemStatus.Completed)
{
item.Status = DownloadItemStatus.Warning;
item.Message = "Unable to import since content path is equal to root download directory, perhaps Keep top-level folder was disabled for this torrent?";
}
}
queueItems.Add(item);
}