use folder.ext when poster.ext is not found for movies or shows (#96)
This commit is contained in:
@@ -210,6 +210,14 @@ namespace ErsatzTV.Core.Metadata
|
||||
ext => new[] { $"{segment}.{ext}", Path.GetFileNameWithoutExtension(path) + $"-{segment}.{ext}" })
|
||||
.Map(f => Path.Combine(folder, f));
|
||||
Option<string> result = possibleMoviePosters.Filter(p => _localFileSystem.FileExists(p)).HeadOrNone();
|
||||
if (result.IsNone && artworkKind == ArtworkKind.Poster)
|
||||
{
|
||||
IEnumerable<string> possibleFolderPosters = ImageFileExtensions.Collect(
|
||||
ext => new[] { $"folder.{ext}" })
|
||||
.Map(f => Path.Combine(folder, f));
|
||||
result = possibleFolderPosters.Filter(p => _localFileSystem.FileExists(p)).HeadOrNone();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,15 +319,16 @@ namespace ErsatzTV.Core.Metadata
|
||||
|
||||
private Option<string> LocateArtworkForShow(string showFolder, ArtworkKind artworkKind)
|
||||
{
|
||||
string segment = artworkKind switch
|
||||
string[] segments = artworkKind switch
|
||||
{
|
||||
ArtworkKind.Poster => "poster",
|
||||
ArtworkKind.FanArt => "fanart",
|
||||
ArtworkKind.Poster => new[] { "poster", "folder" },
|
||||
ArtworkKind.FanArt => new[] { "fanart" },
|
||||
_ => throw new ArgumentOutOfRangeException(nameof(artworkKind))
|
||||
};
|
||||
|
||||
return ImageFileExtensions
|
||||
.Map(ext => $"{segment}.{ext}")
|
||||
.Map(ext => segments.Map(segment => $"{segment}.{ext}"))
|
||||
.Flatten()
|
||||
.Map(f => Path.Combine(showFolder, f))
|
||||
.Filter(s => _localFileSystem.FileExists(s))
|
||||
.HeadOrNone();
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace ErsatzTV.Core.Plex
|
||||
result.IsUpdated = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (Studio studio in existingMetadata.Studios
|
||||
.Filter(s => incomingMetadata.Studios.All(s2 => s2.Name != s.Name))
|
||||
.ToList())
|
||||
|
||||
Reference in New Issue
Block a user