aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata/Images
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.LocalMetadata/Images')
-rw-r--r--MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs16
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs7
2 files changed, 21 insertions, 2 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
index c0706ceeb..25a8ad596 100644
--- a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO;
+using Microsoft.Extensions.Logging;
namespace MediaBrowser.LocalMetadata.Images
{
@@ -12,11 +13,16 @@ namespace MediaBrowser.LocalMetadata.Images
{
private readonly IServerConfigurationManager _config;
private readonly IFileSystem _fileSystem;
+ private readonly ILogger _logger;
- public InternalMetadataFolderImageProvider(IServerConfigurationManager config, IFileSystem fileSystem)
+ public InternalMetadataFolderImageProvider(
+ IServerConfigurationManager config,
+ IFileSystem fileSystem,
+ ILogger<InternalMetadataFolderImageProvider> logger)
{
_config = config;
_fileSystem = fileSystem;
+ _logger = logger;
}
public string Name => "Internal Images";
@@ -53,12 +59,18 @@ namespace MediaBrowser.LocalMetadata.Images
{
var path = item.GetInternalMetadataPath();
+ if (!Directory.Exists(path))
+ {
+ return new List<LocalImageInfo>();
+ }
+
try
{
return new LocalImageProvider(_fileSystem).GetImages(item, path, false, directoryService);
}
- catch (IOException)
+ catch (IOException ex)
{
+ _logger.LogError(ex, "Error while getting images for {Library}", item.Name);
return new List<LocalImageInfo>();
}
}
diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
index 1a7654bfd..7c330ad86 100644
--- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
+using System.IO;
using System.Linq;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
@@ -65,6 +66,12 @@ namespace MediaBrowser.LocalMetadata.Images
var path = item.ContainingFolderPath;
+ // Exit if the cache dir does not exist, alternative solution is to create it, but that's a lot of empty dirs...
+ if (!Directory.Exists(path))
+ {
+ return Array.Empty<FileSystemMetadata>();
+ }
+
if (includeDirectories)
{
return directoryService.GetFileSystemEntries(path)