From d1bd8a4d7cbd822a558e1a49e09c94dc68e952b6 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Mon, 15 Feb 2021 06:14:58 -0600 Subject: [PATCH] add collection refresh actions --- .../Metadata/TestMediaScannerTests.cs | 24 ++++++++++++------- ErsatzTV.Core/Metadata/TestMediaScanner.cs | 9 ++++--- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ErsatzTV.Core.Tests/Metadata/TestMediaScannerTests.cs b/ErsatzTV.Core.Tests/Metadata/TestMediaScannerTests.cs index f4feff00d..fcb4cfdfa 100644 --- a/ErsatzTV.Core.Tests/Metadata/TestMediaScannerTests.cs +++ b/ErsatzTV.Core.Tests/Metadata/TestMediaScannerTests.cs @@ -30,7 +30,8 @@ namespace ErsatzTV.Core.Tests.Metadata source.LeftToSeq().Should().BeEquivalentTo(movieFileName); itemScanningPlans.Should().BeEquivalentTo( new ItemScanningPlan(movieFileName, ScanningAction.Statistics), - new ItemScanningPlan(movieFileName, ScanningAction.FallbackMetadata)); + new ItemScanningPlan(movieFileName, ScanningAction.FallbackMetadata), + new ItemScanningPlan(movieFileName, ScanningAction.Collections)); } [Test] @@ -54,7 +55,8 @@ namespace ErsatzTV.Core.Tests.Metadata source.LeftToSeq().Should().BeEquivalentTo(movieFileName); itemScanningPlans.Should().BeEquivalentTo( new ItemScanningPlan(movieFileName, ScanningAction.Statistics), - new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata)); + new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata), + new ItemScanningPlan(movieFileName, ScanningAction.Collections)); } [Test] @@ -82,7 +84,8 @@ namespace ErsatzTV.Core.Tests.Metadata itemScanningPlans.Should().BeEquivalentTo( new ItemScanningPlan(movieFileName, ScanningAction.Statistics), new ItemScanningPlan(movieFileName, ScanningAction.FallbackMetadata), - new ItemScanningPlan(posterFileName, ScanningAction.Poster)); + new ItemScanningPlan(posterFileName, ScanningAction.Poster), + new ItemScanningPlan(movieFileName, ScanningAction.Collections)); } [Test] @@ -113,7 +116,8 @@ namespace ErsatzTV.Core.Tests.Metadata itemScanningPlans.Should().BeEquivalentTo( new ItemScanningPlan(movieFileName, ScanningAction.Statistics), new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata), - new ItemScanningPlan(posterFileName, ScanningAction.Poster)); + new ItemScanningPlan(posterFileName, ScanningAction.Poster), + new ItemScanningPlan(movieFileName, ScanningAction.Collections)); } // TODO: mtime should affect this @@ -141,10 +145,11 @@ namespace ErsatzTV.Core.Tests.Metadata (Either source, List itemScanningPlans) = result.Head(); source.IsRight.Should().BeTrue(); source.RightToSeq().Should().BeEquivalentTo(movieMediaItem); - itemScanningPlans.Should() - .BeEquivalentTo(new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata)); + itemScanningPlans.Should().BeEquivalentTo( + new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata), + new ItemScanningPlan(movieMediaItem.Path, ScanningAction.Collections)); } - + [Test] public void ExistingMovieFile_WithoutNfo_WithNewPoster( [Values("", "test (2021)-")] @@ -174,7 +179,7 @@ namespace ErsatzTV.Core.Tests.Metadata itemScanningPlans.Should() .BeEquivalentTo(new ItemScanningPlan(posterFileName, ScanningAction.Poster)); } - + [Test] public void ExistingMovieFile_WithNewNfo_WithNewPoster( [Values("test (2021).nfo", "movie.nfo")] @@ -206,7 +211,8 @@ namespace ErsatzTV.Core.Tests.Metadata source.RightToSeq().Should().BeEquivalentTo(movieMediaItem); itemScanningPlans.Should().BeEquivalentTo( new ItemScanningPlan(nfoFileName, ScanningAction.SidecarMetadata), - new ItemScanningPlan(posterFileName, ScanningAction.Poster)); + new ItemScanningPlan(posterFileName, ScanningAction.Poster), + new ItemScanningPlan(movieMediaItem.Path, ScanningAction.Collections)); } } } diff --git a/ErsatzTV.Core/Metadata/TestMediaScanner.cs b/ErsatzTV.Core/Metadata/TestMediaScanner.cs index c2cae886b..dfa10f36d 100644 --- a/ErsatzTV.Core/Metadata/TestMediaScanner.cs +++ b/ErsatzTV.Core/Metadata/TestMediaScanner.cs @@ -34,6 +34,7 @@ namespace ErsatzTV.Core.Metadata foreach (string file in newFiles) { results.Add(file, new ItemScanningPlan(file, ScanningAction.Statistics)); + results.Add(file, new ItemScanningPlan(file, ScanningAction.Collections)); Option maybeNfoFile = LocateNfoFile(mediaType, files, file); maybeNfoFile.BiIter( @@ -52,9 +53,11 @@ namespace ErsatzTV.Core.Metadata { Option maybeNfoFile = LocateNfoFile(mediaType, files, mediaItem.Path); maybeNfoFile.IfSome( - nfoFile => results.Add( - mediaItem, - new ItemScanningPlan(nfoFile, ScanningAction.SidecarMetadata))); + nfoFile => + { + results.Add(mediaItem, new ItemScanningPlan(nfoFile, ScanningAction.SidecarMetadata)); + results.Add(mediaItem, new ItemScanningPlan(mediaItem.Path, ScanningAction.Collections)); + }); } if (string.IsNullOrWhiteSpace(mediaItem.Poster))