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

(cherry picked from commit 05820ac272ee976fcc0a7b17f3e9cc987cb0d230)
pull/5309/head
Taloth Saldono 4 years ago committed by Qstick
parent 7311a1e837
commit 96852c9f96

@ -143,11 +143,6 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
SeedRatio = torrent.Ratio 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. // 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). // 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); item.CanMoveFiles = item.CanBeRemoved = torrent.State == "pausedUP" && HasReachedSeedLimit(torrent, config);
@ -214,6 +209,19 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
break; 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); queueItems.Add(item);
} }

Loading…
Cancel
Save