mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-31 21:08:27 +01:00
3.2.9.1
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
return !string.IsNullOrEmpty(ext) &&
|
||||
BaseItem.SupportedImageExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase);
|
||||
})
|
||||
.OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty))
|
||||
.ToList();
|
||||
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);
|
||||
});
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user