aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-11-15 16:33:04 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-11-15 16:33:04 -0500
commit9f46122d91f54a277d455fe6579df2f6a23f480d (patch)
treeb81fc689f662856d55266d5bdc4ca69da8f1225d /MediaBrowser.LocalMetadata
parent2f758676d0908f07dafc3ec5434bbaf4cf82529c (diff)
3.2.36.10
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs104
-rw-r--r--MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs14
2 files changed, 98 insertions, 20 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;
+ }
}
}
}
diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
index 259f42391..a3800e5c1 100644
--- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
+++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
@@ -226,7 +226,19 @@ namespace MediaBrowser.LocalMetadata.Savers
if (wasHidden || ConfigurationManager.Configuration.SaveMetadataHidden)
{
- FileSystem.SetHidden(path, true);
+ SetHidden(path, true);
+ }
+ }
+
+ private void SetHidden(string path, bool hidden)
+ {
+ try
+ {
+ FileSystem.SetHidden(path, hidden);
+ }
+ catch (Exception ex)
+ {
+ Logger.Error("Error setting hidden attribute on {0} - {1}", path, ex.Message);
}
}