From f29af8509d3f63fcd3d4313ee400cbfea52c67ed Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 15 Nov 2020 17:49:45 -0800 Subject: [PATCH] New: Don't process files during Manual Import if there are more than 100 items (cherry picked from commit fed2a429c7a3f0eeb83d36a3edbddde9a77a263e) --- .../TrackImport/Manual/ManualImportService.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs index 36112e984..1f90b7904 100644 --- a/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs +++ b/src/NzbDrone.Core/MediaFiles/TrackImport/Manual/ManualImportService.cs @@ -167,6 +167,12 @@ private List ProcessFolder(string folder, string downloadId, A } var artistFiles = _diskScanService.GetAudioFiles(folder).ToList(); + + if (artist == null && artistFiles.Count > 100) + { + return ProcessDownloadDirectory(folder, artistFiles); + } + var idOverrides = new IdentificationOverrides { Artist = artist @@ -201,6 +207,23 @@ private List ProcessFolder(string folder, string downloadId, A return newItems.Concat(existingItems).ToList(); } + private List ProcessDownloadDirectory(string folder, List audioFiles) + { + var items = new List(); + + foreach (var file in audioFiles) + { + var localTrack = new LocalTrack(); + localTrack.Path = file.FullName; + localTrack.Quality = new QualityModel(Quality.Unknown); + localTrack.Size = file.Length; + + items.Add(MapItem(new ImportDecision(localTrack), null, false, false)); + } + + return items; + } + public List UpdateItems(List items) { var replaceExistingFiles = items.All(x => x.ReplaceExistingFiles);