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

(cherry picked from commit 05820ac272ee976fcc0a7b17f3e9cc987cb0d230)
This commit is contained in:
Taloth Saldono 2020-11-14 18:49:58 +01:00 committed by Qstick
parent 39b57cfe6e
commit fc104f9587
1 changed files with 13 additions and 5 deletions

View File

@ -143,11 +143,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);
@ -214,6 +209,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);
}