Move seed configuration logic to TorrentClientBase

This commit is contained in:
Bogdan 2023-06-07 01:32:03 +03:00
parent d05128ca33
commit 596d3297da
15 changed files with 57 additions and 63 deletions

View file

@ -5,8 +5,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -22,11 +22,11 @@ namespace NzbDrone.Core.Download.Clients.Aria2
public Aria2(IAria2Proxy proxy, public Aria2(IAria2Proxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -6,8 +6,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
namespace NzbDrone.Core.Download.Clients.Blackhole namespace NzbDrone.Core.Download.Clients.Blackhole
@ -17,11 +17,11 @@ namespace NzbDrone.Core.Download.Clients.Blackhole
public override bool PreferTorrentFile => true; public override bool PreferTorrentFile => true;
public TorrentBlackhole(ITorrentFileInfoReader torrentFileInfoReader, public TorrentBlackhole(ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
} }

View file

@ -7,8 +7,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -20,11 +20,11 @@ namespace NzbDrone.Core.Download.Clients.Deluge
public Deluge(IDelugeProxy proxy, public Deluge(IDelugeProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -7,9 +7,9 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Download.Clients.DownloadStation.Proxies; using NzbDrone.Core.Download.Clients.DownloadStation.Proxies;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -30,11 +30,11 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
IDownloadStationInfoProxy dsInfoProxy, IDownloadStationInfoProxy dsInfoProxy,
IDownloadStationTaskProxy dsTaskProxy, IDownloadStationTaskProxy dsTaskProxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_dsInfoProxy = dsInfoProxy; _dsInfoProxy = dsInfoProxy;
_dsTaskProxy = dsTaskProxy; _dsTaskProxy = dsTaskProxy;

View file

@ -4,9 +4,9 @@ using System.Linq;
using FluentValidation.Results; using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Download.Clients.Flood.Models; using NzbDrone.Core.Download.Clients.Flood.Models;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
@ -18,11 +18,11 @@ namespace NzbDrone.Core.Download.Clients.Flood
public Flood(IFloodProxy proxy, public Flood(IFloodProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -5,9 +5,9 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Download.Clients.FreeboxDownload.Responses; using NzbDrone.Core.Download.Clients.FreeboxDownload.Responses;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
namespace NzbDrone.Core.Download.Clients.FreeboxDownload namespace NzbDrone.Core.Download.Clients.FreeboxDownload
@ -18,11 +18,11 @@ namespace NzbDrone.Core.Download.Clients.FreeboxDownload
public TorrentFreeboxDownload(IFreeboxDownloadProxy proxy, public TorrentFreeboxDownload(IFreeboxDownloadProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -4,8 +4,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -17,11 +17,11 @@ namespace NzbDrone.Core.Download.Clients.Hadouken
public Hadouken(IHadoukenProxy proxy, public Hadouken(IHadoukenProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -6,8 +6,8 @@ using NLog;
using NzbDrone.Common.Cache; using NzbDrone.Common.Cache;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -26,12 +26,12 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
public QBittorrent(IQBittorrentProxySelector proxySelector, public QBittorrent(IQBittorrentProxySelector proxySelector,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
ICacheManager cacheManager, ICacheManager cacheManager,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxySelector = proxySelector; _proxySelector = proxySelector;

View file

@ -3,8 +3,8 @@ using System.Text.RegularExpressions;
using FluentValidation.Results; using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
namespace NzbDrone.Core.Download.Clients.Transmission namespace NzbDrone.Core.Download.Clients.Transmission
{ {
@ -12,11 +12,11 @@ namespace NzbDrone.Core.Download.Clients.Transmission
{ {
public Transmission(ITransmissionProxy proxy, public Transmission(ITransmissionProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(proxy, torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
} }

View file

@ -4,8 +4,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -17,11 +17,11 @@ namespace NzbDrone.Core.Download.Clients.Transmission
public TransmissionBase(ITransmissionProxy proxy, public TransmissionBase(ITransmissionProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -1,9 +1,9 @@
using FluentValidation.Results; using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Download.Clients.Transmission; using NzbDrone.Core.Download.Clients.Transmission;
using NzbDrone.Core.Indexers;
namespace NzbDrone.Core.Download.Clients.Vuze namespace NzbDrone.Core.Download.Clients.Vuze
{ {
@ -13,11 +13,11 @@ namespace NzbDrone.Core.Download.Clients.Vuze
public Vuze(ITransmissionProxy proxy, public Vuze(ITransmissionProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(proxy, torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(proxy, torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
} }

View file

@ -6,10 +6,10 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Download.Clients.rTorrent; using NzbDrone.Core.Download.Clients.rTorrent;
using NzbDrone.Core.Exceptions; using NzbDrone.Core.Exceptions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.ThingiProvider; using NzbDrone.Core.ThingiProvider;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -23,12 +23,12 @@ namespace NzbDrone.Core.Download.Clients.RTorrent
public RTorrent(IRTorrentProxy proxy, public RTorrent(IRTorrentProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
IRTorrentDirectoryValidator rTorrentDirectoryValidator, IRTorrentDirectoryValidator rTorrentDirectoryValidator,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
_rTorrentDirectoryValidator = rTorrentDirectoryValidator; _rTorrentDirectoryValidator = rTorrentDirectoryValidator;

View file

@ -5,8 +5,8 @@ using FluentValidation.Results;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Validation; using NzbDrone.Core.Validation;
@ -18,11 +18,11 @@ namespace NzbDrone.Core.Download.Clients.UTorrent
public UTorrent(IUTorrentProxy proxy, public UTorrent(IUTorrentProxy proxy,
ITorrentFileInfoReader torrentFileInfoReader, ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(torrentFileInfoReader, httpClient, configService, diskProvider, logger) : base(torrentFileInfoReader, seedConfigProvider, configService, diskProvider, logger)
{ {
_proxy = proxy; _proxy = proxy;
} }

View file

@ -29,7 +29,6 @@ namespace NzbDrone.Core.Download
private readonly IIndexerStatusService _indexerStatusService; private readonly IIndexerStatusService _indexerStatusService;
private readonly IRateLimitService _rateLimitService; private readonly IRateLimitService _rateLimitService;
private readonly IEventAggregator _eventAggregator; private readonly IEventAggregator _eventAggregator;
private readonly ISeedConfigProvider _seedConfigProvider;
private readonly Logger _logger; private readonly Logger _logger;
public DownloadService(IProvideDownloadClient downloadClientProvider, public DownloadService(IProvideDownloadClient downloadClientProvider,
@ -38,7 +37,6 @@ namespace NzbDrone.Core.Download
IIndexerStatusService indexerStatusService, IIndexerStatusService indexerStatusService,
IRateLimitService rateLimitService, IRateLimitService rateLimitService,
IEventAggregator eventAggregator, IEventAggregator eventAggregator,
ISeedConfigProvider seedConfigProvider,
Logger logger) Logger logger)
{ {
_downloadClientProvider = downloadClientProvider; _downloadClientProvider = downloadClientProvider;
@ -47,7 +45,6 @@ namespace NzbDrone.Core.Download
_indexerStatusService = indexerStatusService; _indexerStatusService = indexerStatusService;
_rateLimitService = rateLimitService; _rateLimitService = rateLimitService;
_eventAggregator = eventAggregator; _eventAggregator = eventAggregator;
_seedConfigProvider = seedConfigProvider;
_logger = logger; _logger = logger;
} }
@ -61,14 +58,6 @@ namespace NzbDrone.Core.Download
throw new DownloadClientUnavailableException($"{release.DownloadProtocol} Download client isn't configured yet"); throw new DownloadClientUnavailableException($"{release.DownloadProtocol} Download client isn't configured yet");
} }
// Get the seed configuration for this release.
var seedConfiguration = _seedConfigProvider.GetSeedConfiguration(release);
if (seedConfiguration != null)
{
((TorrentInfo)release).SeedConfiguration = _seedConfigProvider.GetSeedConfiguration(release);
}
var indexer = _indexerFactory.GetInstance(_indexerFactory.Get(release.IndexerId)); var indexer = _indexerFactory.GetInstance(_indexerFactory.Get(release.IndexerId));
var grabEvent = new IndexerDownloadEvent(release, true, source, host, release.Title, release.DownloadUrl) var grabEvent = new IndexerDownloadEvent(release, true, source, host, release.Title, release.DownloadUrl)

View file

@ -5,7 +5,6 @@ using MonoTorrent;
using NLog; using NLog;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions; using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration; using NzbDrone.Core.Configuration;
using NzbDrone.Core.Exceptions; using NzbDrone.Core.Exceptions;
using NzbDrone.Core.Indexers; using NzbDrone.Core.Indexers;
@ -18,18 +17,18 @@ namespace NzbDrone.Core.Download
public abstract class TorrentClientBase<TSettings> : DownloadClientBase<TSettings> public abstract class TorrentClientBase<TSettings> : DownloadClientBase<TSettings>
where TSettings : IProviderConfig, new() where TSettings : IProviderConfig, new()
{ {
protected readonly IHttpClient _httpClient; private readonly ITorrentFileInfoReader _torrentFileInfoReader;
protected readonly ITorrentFileInfoReader _torrentFileInfoReader; private readonly ISeedConfigProvider _seedConfigProvider;
protected TorrentClientBase(ITorrentFileInfoReader torrentFileInfoReader, protected TorrentClientBase(ITorrentFileInfoReader torrentFileInfoReader,
IHttpClient httpClient, ISeedConfigProvider seedConfigProvider,
IConfigService configService, IConfigService configService,
IDiskProvider diskProvider, IDiskProvider diskProvider,
Logger logger) Logger logger)
: base(configService, diskProvider, logger) : base(configService, diskProvider, logger)
{ {
_httpClient = httpClient;
_torrentFileInfoReader = torrentFileInfoReader; _torrentFileInfoReader = torrentFileInfoReader;
_seedConfigProvider = seedConfigProvider;
} }
public override DownloadProtocol Protocol => DownloadProtocol.Torrent; public override DownloadProtocol Protocol => DownloadProtocol.Torrent;
@ -44,6 +43,12 @@ namespace NzbDrone.Core.Download
{ {
var torrentInfo = release as TorrentInfo; var torrentInfo = release as TorrentInfo;
if (torrentInfo != null)
{
// Get the seed configuration for this release.
torrentInfo.SeedConfiguration = _seedConfigProvider.GetSeedConfiguration(release);
}
string magnetUrl = null; string magnetUrl = null;
string torrentUrl = null; string torrentUrl = null;
@ -67,7 +72,7 @@ namespace NzbDrone.Core.Download
{ {
try try
{ {
return await DownloadFromWebUrl(release, indexer, torrentUrl); return await DownloadFromWebUrl(torrentInfo, indexer, torrentUrl);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -84,7 +89,7 @@ namespace NzbDrone.Core.Download
{ {
try try
{ {
return DownloadFromMagnetUrl(release, magnetUrl); return DownloadFromMagnetUrl(torrentInfo, magnetUrl);
} }
catch (NotSupportedException ex) catch (NotSupportedException ex)
{ {
@ -98,7 +103,7 @@ namespace NzbDrone.Core.Download
{ {
try try
{ {
return DownloadFromMagnetUrl(release, magnetUrl); return DownloadFromMagnetUrl(torrentInfo, magnetUrl);
} }
catch (NotSupportedException ex) catch (NotSupportedException ex)
{ {
@ -113,14 +118,14 @@ namespace NzbDrone.Core.Download
if (torrentUrl.IsNotNullOrWhiteSpace()) if (torrentUrl.IsNotNullOrWhiteSpace())
{ {
return await DownloadFromWebUrl(release, indexer, torrentUrl); return await DownloadFromWebUrl(torrentInfo, indexer, torrentUrl);
} }
} }
return null; return null;
} }
private async Task<string> DownloadFromWebUrl(ReleaseInfo release, IIndexer indexer, string torrentUrl) private async Task<string> DownloadFromWebUrl(TorrentInfo release, IIndexer indexer, string torrentUrl)
{ {
byte[] torrentFile = null; byte[] torrentFile = null;
@ -142,7 +147,7 @@ namespace NzbDrone.Core.Download
var filename = string.Format("{0}.torrent", StringUtil.CleanFileName(release.Title)); var filename = string.Format("{0}.torrent", StringUtil.CleanFileName(release.Title));
var hash = _torrentFileInfoReader.GetHashFromTorrentFile(torrentFile); var hash = _torrentFileInfoReader.GetHashFromTorrentFile(torrentFile);
var actualHash = AddFromTorrentFile((TorrentInfo)release, hash, filename, torrentFile); var actualHash = AddFromTorrentFile(release, hash, filename, torrentFile);
if (actualHash.IsNotNullOrWhiteSpace() && hash != actualHash) if (actualHash.IsNotNullOrWhiteSpace() && hash != actualHash)
{ {
@ -155,7 +160,7 @@ namespace NzbDrone.Core.Download
return actualHash; return actualHash;
} }
private string DownloadFromMagnetUrl(ReleaseInfo release, string magnetUrl) private string DownloadFromMagnetUrl(TorrentInfo release, string magnetUrl)
{ {
string hash = null; string hash = null;
string actualHash = null; string actualHash = null;
@ -173,7 +178,7 @@ namespace NzbDrone.Core.Download
if (hash != null) if (hash != null)
{ {
actualHash = AddFromMagnetLink((TorrentInfo)release, hash, magnetUrl); actualHash = AddFromMagnetLink(release, hash, magnetUrl);
} }
if (actualHash.IsNotNullOrWhiteSpace() && hash != actualHash) if (actualHash.IsNotNullOrWhiteSpace() && hash != actualHash)