aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-11-20 13:02:59 -0500
committerGitHub <noreply@github.com>2017-11-20 13:02:59 -0500
commit8f78652398ad4e9e9af53a1bd065afe4b9d9260e (patch)
tree32bc4144212d7f6ee3941c9c2471b56ab9c5d3e2 /MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
parent7d15b140cfe4f761e03f661f82cf946f327863f5 (diff)
parent71ff88284be60fb39a7389e0c4990c94f2207ed4 (diff)
Merge pull request #3032 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs')
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs104
1 files changed, 85 insertions, 19 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
index 56a2c271f..2901f51d5 100644
--- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
@@ -9,6 +9,7 @@ using System.Globalization;
using System.Linq;
using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
+using MediaBrowser.Controller.Entities.Movies;
namespace MediaBrowser.LocalMetadata.Images
{
@@ -131,35 +132,91 @@ namespace MediaBrowser.LocalMetadata.Images
PopulatePrimaryImages(item, images, files, imagePrefix, isInMixedFolder);
- AddImage(files, images, "logo", imagePrefix, isInMixedFolder, ImageType.Logo);
- AddImage(files, images, "clearart", imagePrefix, isInMixedFolder, ImageType.Art);
+ var added = false;
+ var isEpisode = item is Episode;
+ var isSong = item.GetType() == typeof(Audio);
+ var isGame = item is Game;
+ var isPerson = item is Person;
+
+ // Logo
+ if (!isEpisode && !isSong && !isPerson)
+ {
+ added = AddImage(files, images, "logo", imagePrefix, isInMixedFolder, ImageType.Logo);
+ if (!added)
+ {
+ added = AddImage(files, images, "clearlogo", imagePrefix, isInMixedFolder, ImageType.Logo);
+ }
+ }
+
+ // Art
+ if (!isEpisode && !isSong && !isPerson)
+ {
+ AddImage(files, images, "clearart", imagePrefix, isInMixedFolder, ImageType.Art);
+ }
// For music albums, prefer cdart before disc
if (item is MusicAlbum)
{
- AddImage(files, images, "cdart", imagePrefix, isInMixedFolder, ImageType.Disc);
- AddImage(files, images, "disc", imagePrefix, isInMixedFolder, ImageType.Disc);
+ added = AddImage(files, images, "cdart", imagePrefix, isInMixedFolder, ImageType.Disc);
+
+ if (!added)
+ {
+ added = AddImage(files, images, "disc", imagePrefix, isInMixedFolder, ImageType.Disc);
+ }
}
- else
+ else if (isGame || item is Video || item is BoxSet)
{
- AddImage(files, images, "disc", imagePrefix, isInMixedFolder, ImageType.Disc);
- AddImage(files, images, "cdart", imagePrefix, isInMixedFolder, ImageType.Disc);
+ added = AddImage(files, images, "disc", imagePrefix, isInMixedFolder, ImageType.Disc);
+
+ if (!added)
+ {
+ added = AddImage(files, images, "cdart", imagePrefix, isInMixedFolder, ImageType.Disc);
+ }
+
+ if (!added)
+ {
+ added = AddImage(files, images, "discart", imagePrefix, isInMixedFolder, ImageType.Disc);
+ }
}
- AddImage(files, images, "box", imagePrefix, isInMixedFolder, ImageType.Box);
- AddImage(files, images, "back", imagePrefix, isInMixedFolder, ImageType.BoxRear);
- AddImage(files, images, "boxrear", imagePrefix, isInMixedFolder, ImageType.BoxRear);
- AddImage(files, images, "menu", imagePrefix, isInMixedFolder, ImageType.Menu);
+ if (isGame)
+ {
+ AddImage(files, images, "box", imagePrefix, isInMixedFolder, ImageType.Box);
+ AddImage(files, images, "menu", imagePrefix, isInMixedFolder, ImageType.Menu);
+
+ added = AddImage(files, images, "back", imagePrefix, isInMixedFolder, ImageType.BoxRear);
+
+ if (!added)
+ {
+ added = AddImage(files, images, "boxrear", imagePrefix, isInMixedFolder, ImageType.BoxRear);
+ }
+ }
// Banner
- AddImage(files, images, "banner", imagePrefix, isInMixedFolder, ImageType.Banner);
+ if (!isEpisode && !isSong && !isPerson)
+ {
+ AddImage(files, images, "banner", imagePrefix, isInMixedFolder, ImageType.Banner);
+ }
// Thumb
- AddImage(files, images, "landscape", imagePrefix, isInMixedFolder, ImageType.Thumb);
- AddImage(files, images, "thumb", imagePrefix, isInMixedFolder, ImageType.Thumb);
+ if (!isEpisode && !isSong && !isPerson)
+ {
+ added = AddImage(files, images, "landscape", imagePrefix, isInMixedFolder, ImageType.Thumb);
+ if (!added)
+ {
+ added = AddImage(files, images, "thumb", imagePrefix, isInMixedFolder, ImageType.Thumb);
+ }
+ }
+
+ if (!isEpisode && !isSong && !isPerson)
+ {
+ PopulateBackdrops(item, images, files, imagePrefix, isInMixedFolder, directoryService);
+ }
- PopulateBackdrops(item, images, files, imagePrefix, isInMixedFolder, directoryService);
- PopulateScreenshots(images, files, imagePrefix, isInMixedFolder);
+ if (item is IHasScreenshots)
+ {
+ PopulateScreenshots(images, files, imagePrefix, isInMixedFolder);
+ }
}
private static readonly string[] CommonImageFileNames = new[]
@@ -232,19 +289,28 @@ namespace MediaBrowser.LocalMetadata.Images
var fileNameWithoutExtension = item.FileNameWithoutExtension;
if (!string.IsNullOrEmpty(fileNameWithoutExtension))
{
- AddImage(files, images, fileNameWithoutExtension, ImageType.Primary);
+ if (AddImage(files, images, fileNameWithoutExtension, ImageType.Primary))
+ {
+ return;
+ }
}
foreach (var name in imageFileNames)
{
- AddImage(files, images, imagePrefix + name, ImageType.Primary);
+ if (AddImage(files, images, imagePrefix + name, ImageType.Primary))
+ {
+ return;
+ }
}
if (!isInMixedFolder)
{
foreach (var name in imageFileNames)
{
- AddImage(files, images, name, ImageType.Primary);
+ if (AddImage(files, images, name, ImageType.Primary))
+ {
+ return;
+ }
}
}
}