diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-19 23:04:45 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-19 23:04:45 -0400 |
| commit | 3be4aa8dc729f5899658790f43a1d1c182e7a243 (patch) | |
| tree | 0af3803924add6eaffcfd4a58a81c3385f3afc61 /MediaBrowser.LocalMetadata | |
| parent | 813f5d9649522f8627940e3688e49f20fbff3acd (diff) | |
add connect to startup wizard
Diffstat (limited to 'MediaBrowser.LocalMetadata')
4 files changed, 34 insertions, 13 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs index ccb2acd1d..90f00ff02 100644 --- a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs @@ -37,7 +37,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, false, directoryService); } } } diff --git a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs index d992e2026..52cff0aa9 100644 --- a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs @@ -45,7 +45,7 @@ namespace MediaBrowser.LocalMetadata.Images try { - return new LocalImageProvider(_fileSystem).GetImages(item, path, directoryService); + return new LocalImageProvider(_fileSystem).GetImages(item, path, false, directoryService); } catch (DirectoryNotFoundException) { diff --git a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs index 46f7c7f62..7473d48e9 100644 --- a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs @@ -38,7 +38,7 @@ namespace MediaBrowser.LocalMetadata.Images return true; } - if (item.SupportsLocalMetadata) + if (item.SupportsLocalMetadata && !item.AlwaysScanInternalMetadataPath) { return false; } @@ -59,14 +59,9 @@ namespace MediaBrowser.LocalMetadata.Images { var path = item.GetInternalMetadataPath(); - if (item is IChannelItem) - { - var b = true; - } - try { - return new LocalImageProvider(_fileSystem).GetImages(item, path, directoryService); + return new LocalImageProvider(_fileSystem).GetImages(item, path, true, directoryService); } catch (DirectoryNotFoundException) { diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs index cefc92dcf..248ed2661 100644 --- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.LocalMetadata.Images { _fileSystem = fileSystem; } - + public string Name { get { return "Local Images"; } @@ -94,12 +94,12 @@ 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 checkForCacheKeyFiles, IDirectoryService directoryService) { - return GetImages(item, new[] { path }, directoryService); + return GetImages(item, new[] { path }, checkForCacheKeyFiles, directoryService); } - public List<LocalImageInfo> GetImages(IHasImages item, IEnumerable<string> paths, IDirectoryService directoryService) + public List<LocalImageInfo> GetImages(IHasImages item, IEnumerable<string> paths, bool checkForCacheKeyFiles, IDirectoryService directoryService) { var files = paths.SelectMany(directoryService.GetFiles) .Where(i => @@ -115,6 +115,12 @@ namespace MediaBrowser.LocalMetadata.Images PopulateImages(item, list, files, false, directoryService); + if (checkForCacheKeyFiles) + { + AddCacheKeyImage(files, list, ImageType.Primary); + AddCacheKeyImage(files, list, ImageType.Thumb); + } + return list; } @@ -322,6 +328,26 @@ namespace MediaBrowser.LocalMetadata.Images return false; } + private void AddCacheKeyImage(IEnumerable<FileSystemInfo> files, List<LocalImageInfo> images, ImageType type) + { + var candidates = files + .Where(i => _fileSystem.GetFileNameWithoutExtension(i).StartsWith(type.ToString() + "_key_", StringComparison.OrdinalIgnoreCase)) + .ToList(); + + var image = BaseItem.SupportedImageExtensions + .Select(i => candidates.FirstOrDefault(c => string.Equals(c.Extension, i, StringComparison.OrdinalIgnoreCase))) + .FirstOrDefault(i => i != null) as FileInfo; + + if (image != null) + { + images.Add(new LocalImageInfo + { + FileInfo = image, + Type = type + }); + } + } + private FileSystemInfo GetImage(IEnumerable<FileSystemInfo> files, string name) { var candidates = files |
