diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-03-29 02:27:52 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-29 02:27:52 -0400 |
| commit | cae9dfc1c990b6fc769f3a79c4bfe9122c3b256a (patch) | |
| tree | 34d6c2fcf7da3d9b5e098328b0c79073947a9fe9 /MediaBrowser.LocalMetadata | |
| parent | 9f9e81089f5606e958bc8c3f0e4d73475d02372a (diff) | |
| parent | f6b94af438da8f8d3b3760c3e67eb24b09bafbfd (diff) | |
Merge pull request #2555 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.LocalMetadata')
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 { |
