diff --git a/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs b/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs index 8a82fe93a..202e008c0 100644 --- a/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs +++ b/src/NzbDrone.Core/Download/Clients/Blackhole/UsenetBlackhole.cs @@ -32,7 +32,7 @@ namespace NzbDrone.Core.Download.Clients.Blackhole ScanGracePeriod = TimeSpan.FromSeconds(30); } - protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContent) + protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContents) { var title = remoteEpisode.Release.Title; @@ -42,7 +42,25 @@ namespace NzbDrone.Core.Download.Clients.Blackhole using (var stream = _diskProvider.OpenWriteStream(filepath)) { - stream.Write(fileContent, 0, fileContent.Length); + stream.Write(fileContents, 0, fileContents.Length); + } + + _logger.Debug("NZB Download succeeded, saved to: {0}", filepath); + + return null; + } + + protected override string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents) + { + var title = remoteMovie.Release.Title; + + title = FileNameBuilder.CleanFileName(title); + + var filepath = Path.Combine(Settings.NzbFolder, title + ".nzb"); + + using (var stream = _diskProvider.OpenWriteStream(filepath)) + { + stream.Write(fileContents, 0, fileContents.Length); } _logger.Debug("NZB Download succeeded, saved to: {0}", filepath); diff --git a/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs b/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs index 6d45f0386..ce29dafad 100644 --- a/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs +++ b/src/NzbDrone.Core/Download/Clients/NzbVortex/NzbVortex.cs @@ -29,11 +29,25 @@ namespace NzbDrone.Core.Download.Clients.NzbVortex _proxy = proxy; } - protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContent) + protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContents) { var priority = remoteEpisode.IsRecentEpisode() ? Settings.RecentTvPriority : Settings.OlderTvPriority; + + var response = _proxy.DownloadNzb(fileContents, filename, priority, Settings); - var response = _proxy.DownloadNzb(fileContent, filename, priority, Settings); + if (response == null) + { + throw new DownloadClientException("Failed to add nzb {0}", filename); + } + + return response; + } + + protected override string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents) + { + var priority = Settings.RecentTvPriority; + + var response = _proxy.DownloadNzb(fileContents, filename, priority, Settings); if (response == null) { diff --git a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs index b36c44c5f..c358040f2 100644 --- a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs +++ b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs @@ -29,12 +29,12 @@ namespace NzbDrone.Core.Download.Clients.Nzbget _proxy = proxy; } - protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContent) + protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContents) { var category = Settings.TvCategory; var priority = remoteEpisode.IsRecentEpisode() ? Settings.RecentTvPriority : Settings.OlderTvPriority; - var response = _proxy.DownloadNzb(fileContent, filename, category, priority, Settings); + var response = _proxy.DownloadNzb(fileContents, filename, category, priority, Settings); if (response == null) { @@ -46,7 +46,7 @@ namespace NzbDrone.Core.Download.Clients.Nzbget protected override string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents) { - var category = Settings.TvCategory; //could update this to MovieCategory + var category = Settings.TvCategory; // TODO: Update this to MovieCategory? var priority = Settings.RecentTvPriority; var response = _proxy.DownloadNzb(fileContents, filename, category, priority, Settings); diff --git a/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs b/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs index 64a5e23de..bc32aedb1 100644 --- a/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs +++ b/src/NzbDrone.Core/Download/Clients/Sabnzbd/Sabnzbd.cs @@ -32,12 +32,27 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd // patch can be a number (releases) or 'x' (git) private static readonly Regex VersionRegex = new Regex(@"(?\d+)\.(?\d+)\.(?\d+|x)(?.*)", RegexOptions.Compiled); - protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContent) + protected override string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContents) { var category = Settings.TvCategory; var priority = remoteEpisode.IsRecentEpisode() ? Settings.RecentTvPriority : Settings.OlderTvPriority; + + var response = _proxy.DownloadNzb(fileContents, filename, category, priority, Settings); - var response = _proxy.DownloadNzb(fileContent, filename, category, priority, Settings); + if (response != null && response.Ids.Any()) + { + return response.Ids.First(); + } + + return null; + } + + protected override string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents) + { + var category = Settings.TvCategory; + var priority = Settings.RecentTvPriority; + + var response = _proxy.DownloadNzb(fileContents, filename, category, priority, Settings); if (response != null && response.Ids.Any()) { diff --git a/src/NzbDrone.Core/Download/DownloadService.cs b/src/NzbDrone.Core/Download/DownloadService.cs index 6d0963199..b7c4b205a 100644 --- a/src/NzbDrone.Core/Download/DownloadService.cs +++ b/src/NzbDrone.Core/Download/DownloadService.cs @@ -1,6 +1,5 @@ using System; using NLog; -using NzbDrone.Common.EnsureThat; using NzbDrone.Common.Extensions; using NzbDrone.Common.Http; using NzbDrone.Common.Instrumentation.Extensions; diff --git a/src/NzbDrone.Core/Download/UsenetClientBase.cs b/src/NzbDrone.Core/Download/UsenetClientBase.cs index e45bb2d89..0f2ea47de 100644 --- a/src/NzbDrone.Core/Download/UsenetClientBase.cs +++ b/src/NzbDrone.Core/Download/UsenetClientBase.cs @@ -30,12 +30,9 @@ namespace NzbDrone.Core.Download public override DownloadProtocol Protocol => DownloadProtocol.Usenet; - protected abstract string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContent); + protected abstract string AddFromNzbFile(RemoteEpisode remoteEpisode, string filename, byte[] fileContents); - protected virtual string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents) - { - throw new NotImplementedException(); - } + protected abstract string AddFromNzbFile(RemoteMovie remoteMovie, string filename, byte[] fileContents); public override string Download(RemoteEpisode remoteEpisode) {