Fixed: Ensure Magnet grabs are passed thru Prowlarr for stats

pull/57/head
Qstick 3 years ago
parent 4545e38445
commit 138475f3e0

@ -10,6 +10,7 @@ using NzbDrone.Core.Download;
using NzbDrone.Core.Indexers; using NzbDrone.Core.Indexers;
using NzbDrone.Core.IndexerSearch; using NzbDrone.Core.IndexerSearch;
using NzbDrone.Core.Parser; using NzbDrone.Core.Parser;
using NzbDrone.Core.Parser.Model;
using Prowlarr.Http.Extensions; using Prowlarr.Http.Extensions;
using Prowlarr.Http.REST; using Prowlarr.Http.REST;
@ -72,7 +73,12 @@ namespace NzbDrone.Api.V1.Indexers
foreach (var result in results.Releases) foreach (var result in results.Releases)
{ {
result.DownloadUrl = _downloadMappingService.ConvertToProxyLink(new Uri(result.DownloadUrl), request.server, indexer.Id, result.Title).ToString(); result.DownloadUrl = result.DownloadUrl != null ? _downloadMappingService.ConvertToProxyLink(new Uri(result.DownloadUrl), request.server, indexer.Id, result.Title).ToString() : null;
if (result.DownloadProtocol == DownloadProtocol.Torrent)
{
((TorrentInfo)result).MagnetUrl = ((TorrentInfo)result).MagnetUrl != null ? _downloadMappingService.ConvertToProxyLink(new Uri(((TorrentInfo)result).MagnetUrl), request.server, indexer.Id, result.Title).ToString() : null;
}
} }
return Content(results.ToXml(indexerInstance.Protocol), "application/rss+xml"); return Content(results.ToXml(indexerInstance.Protocol), "application/rss+xml");

@ -121,7 +121,8 @@ namespace Prowlarr.Api.V1.Search
var release = downloadDecision.ToResource(); var release = downloadDecision.ToResource();
_remoteReleaseCache.Set(GetCacheKey(release), downloadDecision, TimeSpan.FromMinutes(30)); _remoteReleaseCache.Set(GetCacheKey(release), downloadDecision, TimeSpan.FromMinutes(30));
release.DownloadUrl = _downloadMappingService.ConvertToProxyLink(new Uri(release.DownloadUrl), serverUrl, release.IndexerId, release.Title).ToString(); release.DownloadUrl = release.DownloadUrl != null ? _downloadMappingService.ConvertToProxyLink(new Uri(release.DownloadUrl), serverUrl, release.IndexerId, release.Title).ToString() : null;
release.MagnetUrl = release.MagnetUrl != null ? _downloadMappingService.ConvertToProxyLink(new Uri(release.MagnetUrl), serverUrl, release.IndexerId, release.Title).ToString() : null;
result.Add(release); result.Add(release);
} }

Loading…
Cancel
Save