Redownload after failure is an advanced option.

New: Handle failed downloads and attempt to find another release (SABnzbd only)
This commit is contained in:
Mark McDowall 2013-10-24 15:12:39 -07:00
parent f99573e334
commit 6dd2951f80
4 changed files with 38 additions and 1 deletions

View File

@ -261,6 +261,13 @@ namespace NzbDrone.Core.Configuration
set { SetValue("AutoDownloadPropers", value); }
}
public Boolean AutoRedownloadFailed
{
get { return GetValueBoolean("AutoRedownloadFailed", true); }
set { SetValue("AutoRedownloadFailed", value); }
}
public string DownloadClientWorkingFolders
{
get { return GetValue("DownloadClientWorkingFolders", "_UNPACK_|_FAILED_"); }

View File

@ -39,6 +39,7 @@ namespace NzbDrone.Core.Configuration
Int32 RssSyncInterval { get; set; }
Boolean AutoDownloadPropers { get; set; }
String DownloadClientWorkingFolders { get; set; }
Boolean AutoRedownloadFailed { get; set; }
void SaveValues(Dictionary<string, object> configValues);
}
}

View File

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using NLog;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.IndexerSearch;
using NzbDrone.Core.Messaging.Commands;
using NzbDrone.Core.Tv;
@ -15,12 +16,14 @@ namespace NzbDrone.Core.Download
public class RedownloadFailedDownloadService : IRedownloadFailedDownloads
{
private readonly IConfigService _configService;
private readonly IEpisodeService _episodeService;
private readonly ICommandExecutor _commandExecutor;
private readonly Logger _logger;
public RedownloadFailedDownloadService(IEpisodeService episodeService, ICommandExecutor commandExecutor, Logger logger)
public RedownloadFailedDownloadService(IConfigService configService, IEpisodeService episodeService, ICommandExecutor commandExecutor, Logger logger)
{
_configService = configService;
_episodeService = episodeService;
_commandExecutor = commandExecutor;
_logger = logger;
@ -28,6 +31,12 @@ namespace NzbDrone.Core.Download
public void Redownload(int seriesId, List<int> episodeIds)
{
if (!_configService.AutoRedownloadFailed)
{
_logger.Trace("Auto redownloading failed episodes is disabled");
return;
}
if (episodeIds.Count == 1)
{
_logger.Trace("Failed download only contains one episode, searching again");

View File

@ -41,6 +41,26 @@
</div>
</div>
<div class="control-group">
<label class="control-label">Redownload Failed</label>
<div class="controls">
<label class="checkbox toggle well">
<input type="checkbox" name="autoRedownloadFailed"/>
<p>
<span>Yes</span>
<span>No</span>
</p>
<div class="btn btn-primary slide-button"/>
</label>
<span class="help-inline-checkbox">
<i class="icon-question-sign" title="Should NzbDrone automatically search for and attempt to download another release when a download fails?"/>
</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Recycling Bin</label>