diff --git a/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ProcessFixture.cs b/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ProcessFixture.cs index 4cc50c440..da05e0ee5 100644 --- a/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ProcessFixture.cs +++ b/src/NzbDrone.Core.Test/Download/CompletedDownloadServiceTests/ProcessFixture.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using FizzWare.NBuilder; using FluentAssertions; using Moq; @@ -146,7 +146,7 @@ namespace NzbDrone.Core.Test.Download.CompletedDownloadServiceTests } [Test] - public void should_not_process_if_the_download_cannot_be_tracked_using_the_source_title_as_it_was_initiated_externally() + public void should_process_if_the_download_cannot_be_tracked_using_the_source_title_as_it_was_initiated_externally() { GivenABadlyNamedDownload(); _trackedDownload.RemoteBook.Author = null; @@ -156,11 +156,11 @@ namespace NzbDrone.Core.Test.Download.CompletedDownloadServiceTests Subject.Check(_trackedDownload); - AssertNotReadyToImport(); + AssertReadyToImport(); } [Test] - public void should_not_process_when_there_is_a_title_mismatch() + public void should_process_when_there_is_a_title_mismatch() { _trackedDownload.RemoteBook.Author = null; Mocker.GetMock() @@ -169,7 +169,7 @@ namespace NzbDrone.Core.Test.Download.CompletedDownloadServiceTests Subject.Check(_trackedDownload); - AssertNotReadyToImport(); + AssertReadyToImport(); } private void AssertNotReadyToImport() diff --git a/src/NzbDrone.Core.Test/MediaFiles/DownloadedTracksImportServiceFixture.cs b/src/NzbDrone.Core.Test/MediaFiles/DownloadedTracksImportServiceFixture.cs index ef4683a8d..48cc96cc3 100644 --- a/src/NzbDrone.Core.Test/MediaFiles/DownloadedTracksImportServiceFixture.cs +++ b/src/NzbDrone.Core.Test/MediaFiles/DownloadedTracksImportServiceFixture.cs @@ -123,7 +123,7 @@ namespace NzbDrone.Core.Test.MediaFiles } [Test] - public void should_skip_if_no_author_found() + public void should_not_skip_if_no_author_found() { Mocker.GetMock().Setup(c => c.GetAuthor("foldername")).Returns((Author)null); @@ -131,9 +131,9 @@ namespace NzbDrone.Core.Test.MediaFiles Mocker.GetMock() .Verify(c => c.GetImportDecisions(It.IsAny>(), It.IsAny(), It.IsAny(), It.IsAny()), - Times.Never()); + Times.Once()); - VerifyNoImport(); + VerifyImport(); } [Test] diff --git a/src/NzbDrone.Core/Download/CompletedDownloadService.cs b/src/NzbDrone.Core/Download/CompletedDownloadService.cs index eb328315b..6707b5686 100644 --- a/src/NzbDrone.Core/Download/CompletedDownloadService.cs +++ b/src/NzbDrone.Core/Download/CompletedDownloadService.cs @@ -46,8 +46,7 @@ namespace NzbDrone.Core.Download public void Check(TrackedDownload trackedDownload) { - if (trackedDownload.DownloadItem.Status != DownloadItemStatus.Completed || - trackedDownload.RemoteBook == null) + if (trackedDownload.DownloadItem.Status != DownloadItemStatus.Completed) { return; } @@ -83,22 +82,6 @@ namespace NzbDrone.Core.Download return; } - var author = trackedDownload.RemoteBook.Author; - - if (author == null) - { - if (historyItem != null) - { - author = _authorService.GetAuthor(historyItem.AuthorId); - } - - if (author == null) - { - trackedDownload.Warn("Author name mismatch, automatic import is not possible."); - return; - } - } - trackedDownload.State = TrackedDownloadState.ImportPending; } @@ -107,7 +90,7 @@ namespace NzbDrone.Core.Download trackedDownload.State = TrackedDownloadState.Importing; var outputPath = trackedDownload.ImportItem.OutputPath.FullPath; - var importResults = _downloadedTracksImportService.ProcessPath(outputPath, ImportMode.Auto, trackedDownload.RemoteBook.Author, trackedDownload.DownloadItem); + var importResults = _downloadedTracksImportService.ProcessPath(outputPath, ImportMode.Auto, trackedDownload.RemoteBook?.Author, trackedDownload.DownloadItem); if (importResults.Empty()) { @@ -142,7 +125,7 @@ namespace NzbDrone.Core.Download { var allItemsImported = importResults.Where(c => c.Result == ImportResultType.Imported) .Select(c => c.ImportDecision.Item.Book) - .Count() >= Math.Max(1, trackedDownload.RemoteBook.Books.Count); + .Count() >= Math.Max(1, trackedDownload.RemoteBook?.Books.Count ?? 1); if (allItemsImported) { diff --git a/src/NzbDrone.Core/Download/TrackedDownloads/TrackedDownloadService.cs b/src/NzbDrone.Core/Download/TrackedDownloads/TrackedDownloadService.cs index 98d5966a0..932996f90 100644 --- a/src/NzbDrone.Core/Download/TrackedDownloads/TrackedDownloadService.cs +++ b/src/NzbDrone.Core/Download/TrackedDownloads/TrackedDownloadService.cs @@ -194,7 +194,6 @@ namespace NzbDrone.Core.Download.TrackedDownloads if (trackedDownload.RemoteBook == null) { _logger.Trace("No Book found for download '{0}'", trackedDownload.DownloadItem.Title); - trackedDownload.Warn("No Book found for download '{0}'", trackedDownload.DownloadItem.Title); } } catch (Exception e) diff --git a/src/NzbDrone.Core/MediaFiles/DownloadedBooksImportService.cs b/src/NzbDrone.Core/MediaFiles/DownloadedBooksImportService.cs index fb8b4e1e2..fc5baa851 100644 --- a/src/NzbDrone.Core/MediaFiles/DownloadedBooksImportService.cs +++ b/src/NzbDrone.Core/MediaFiles/DownloadedBooksImportService.cs @@ -151,16 +151,6 @@ namespace NzbDrone.Core.MediaFiles var cleanedUpName = GetCleanedUpFolderName(directoryInfo.Name); var author = _parsingService.GetAuthor(cleanedUpName); - if (author == null) - { - _logger.Debug("Unknown Author {0}", cleanedUpName); - - return new List - { - UnknownAuthorResult("Unknown Author") - }; - } - return ProcessFolder(directoryInfo, importMode, author, downloadClientItem); }