aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-03-29 02:27:52 -0400
committerGitHub <noreply@github.com>2017-03-29 02:27:52 -0400
commitcae9dfc1c990b6fc769f3a79c4bfe9122c3b256a (patch)
tree34d6c2fcf7da3d9b5e098328b0c79073947a9fe9 /MediaBrowser.LocalMetadata
parent9f9e81089f5606e958bc8c3f0e4d73475d02372a (diff)
parentf6b94af438da8f8d3b3760c3e67eb24b09bafbfd (diff)
Merge pull request #2555 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs2
-rw-r--r--MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs2
-rw-r--r--MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs2
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs53
5 files changed, 31 insertions, 31 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
index 651273eb0..d393b98d9 100644
--- a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
@@ -39,7 +39,7 @@ namespace MediaBrowser.LocalMetadata.Images
{
var collectionFolder = (CollectionFolder)item;
- return new LocalImageProvider(_fileSystem).GetImages(item, collectionFolder.PhysicalLocations, directoryService);
+ return new LocalImageProvider(_fileSystem).GetImages(item, collectionFolder.PhysicalLocations, true, directoryService);
}
}
}
diff --git a/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
index e02326838..e005ad224 100644
--- a/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
@@ -56,7 +56,8 @@ namespace MediaBrowser.LocalMetadata.Images
if (parentPathFiles.Any(i => string.Equals(i.FullName, metadataPath, StringComparison.OrdinalIgnoreCase)))
{
- return GetFilesFromParentFolder(nameWithoutExtension, directoryService.GetFiles(metadataPath));
+ var filesInMetadataFolder = _fileSystem.GetFiles(metadataPath, BaseItem.SupportedImageExtensions, false, false);
+ return GetFilesFromParentFolder(nameWithoutExtension, filesInMetadataFolder);
}
return new List<LocalImageInfo>();
diff --git a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs
index 8a6dde6c4..7e3a05683 100644
--- a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs
@@ -47,7 +47,7 @@ namespace MediaBrowser.LocalMetadata.Images
try
{
- return new LocalImageProvider(_fileSystem).GetImages(item, path, directoryService);
+ return new LocalImageProvider(_fileSystem).GetImages(item, path, false, directoryService);
}
catch (IOException)
{
diff --git a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
index b29182d96..8003803ea 100644
--- a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
@@ -67,7 +67,7 @@ namespace MediaBrowser.LocalMetadata.Images
try
{
- return new LocalImageProvider(_fileSystem).GetImages(item, path, directoryService);
+ return new LocalImageProvider(_fileSystem).GetImages(item, path, false, directoryService);
}
catch (IOException)
{
diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
index c986e2005..8ae20f604 100644
--- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
@@ -96,27 +96,37 @@ namespace MediaBrowser.LocalMetadata.Images
return list;
}
- public List<LocalImageInfo> GetImages(IHasImages item, string path, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasImages item, string path, bool isPathInMediaFolder, IDirectoryService directoryService)
{
- return GetImages(item, new[] { path }, directoryService);
+ return GetImages(item, new[] { path }, isPathInMediaFolder, directoryService);
}
- public List<LocalImageInfo> GetImages(IHasImages item, IEnumerable<string> paths, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasImages item, IEnumerable<string> paths, bool arePathsInMediaFolders, IDirectoryService directoryService)
{
- var files = paths.SelectMany(directoryService.GetFiles)
- .Where(i =>
- {
- var ext = i.Extension;
+ IEnumerable<FileSystemMetadata> files;
+
+ if (arePathsInMediaFolders)
+ {
+ files = paths.SelectMany(i => _fileSystem.GetFiles(i, BaseItem.SupportedImageExtensions, true, false));
+ }
+ else
+ {
+ files = paths.SelectMany(directoryService.GetFiles)
+ .Where(i =>
+ {
+ var ext = i.Extension;
+
+ return !string.IsNullOrEmpty(ext) &&
+ BaseItem.SupportedImageExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase);
+ });
+ }
- return !string.IsNullOrEmpty(ext) &&
- BaseItem.SupportedImageExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase);
- })
- .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty))
- .ToList();
+ files = files
+ .OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
var list = new List<LocalImageInfo>();
- PopulateImages(item, list, files, false, directoryService);
+ PopulateImages(item, list, files.ToList(), false, directoryService);
return list;
}
@@ -132,7 +142,7 @@ namespace MediaBrowser.LocalMetadata.Images
PopulateSeasonImagesFromSeriesFolder(season, images, directoryService);
}
}
-
+
var imagePrefix = item.FileNameWithoutExtension + "-";
var isInMixedFolder = item.DetectIsInMixedFolder();
@@ -188,7 +198,7 @@ namespace MediaBrowser.LocalMetadata.Images
names.Insert(0, "folder");
names.Insert(0, "poster");
}
-
+
// Support plex/kodi convention
if (item is Series)
{
@@ -256,18 +266,7 @@ namespace MediaBrowser.LocalMetadata.Images
private void PopulateBackdropsFromExtraFanart(string path, List<LocalImageInfo> images, IDirectoryService directoryService)
{
- var imageFiles = directoryService.GetFiles(path)
- .Where(i =>
- {
- var extension = i.Extension;
-
- if (string.IsNullOrEmpty(extension))
- {
- return false;
- }
-
- return BaseItem.SupportedImageExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase);
- });
+ var imageFiles = _fileSystem.GetFiles(path, BaseItem.SupportedImageExtensions, false, false);
images.AddRange(imageFiles.Select(i => new LocalImageInfo
{