From cd248eda71bab8a4a6308b9e56ae30cd303c8213 Mon Sep 17 00:00:00 2001 From: zhangdoa Date: Sun, 7 Jan 2024 16:11:14 +0100 Subject: [PATCH] Check against the .cue file directory when importing the media files to only import the files in the same directory. (cherry picked from commit 07c9213415f485ed9edf96f3cf3b5d84e095268f) --- src/NzbDrone.Core/MediaFiles/CueSheetService.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/MediaFiles/CueSheetService.cs b/src/NzbDrone.Core/MediaFiles/CueSheetService.cs index efc54a771..0efd07df4 100644 --- a/src/NzbDrone.Core/MediaFiles/CueSheetService.cs +++ b/src/NzbDrone.Core/MediaFiles/CueSheetService.cs @@ -20,7 +20,7 @@ namespace NzbDrone.Core.MediaFiles public List MusicFiles { get; set; } = new List(); public IdentificationOverrides IdOverrides { get; set; } public CueSheet CueSheet { get; set; } - public bool IsForMediaFile(string path) => CueSheet != null && CueSheet.Files.Count > 0 && CueSheet.Files.Any(x => Path.GetFileName(path) == x.Name); + public bool IsForMediaFile(string path) => CueSheet != null && CueSheet.Files.Count > 0 && (Path.GetDirectoryName(path) == Path.GetDirectoryName(CueSheet.Path)) && CueSheet.Files.Any(x => Path.GetFileName(path) == x.Name); public CueSheet.FileEntry TryToGetFileEntryForMediaFile(string path) { if (CueSheet != null && CueSheet.Files.Count > 0) @@ -442,7 +442,8 @@ namespace NzbDrone.Core.MediaFiles } cueSheetInfo.CueSheet = cueSheet; - cueSheetInfo.MusicFiles = musicFiles.Where(musicFile => cueSheet.Files.Any(musicFileFromCue => musicFileFromCue.Name == musicFile.Name)).ToList(); + var musicFilesInTheSameDir = musicFiles.Where(musicFile => musicFile.DirectoryName == Path.GetDirectoryName(cueSheetInfo.CueSheet.Path)).ToList(); + cueSheetInfo.MusicFiles = musicFilesInTheSameDir.Where(musicFile => cueSheet.Files.Any(musicFileFromCue => musicFileFromCue.Name == musicFile.Name)).ToList(); cueSheetInfo.IdOverrides = new IdentificationOverrides();