aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-19 23:04:45 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-19 23:04:45 -0400
commit3be4aa8dc729f5899658790f43a1d1c182e7a243 (patch)
tree0af3803924add6eaffcfd4a58a81c3385f3afc61 /MediaBrowser.LocalMetadata
parent813f5d9649522f8627940e3688e49f20fbff3acd (diff)
add connect to startup wizard
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs2
-rw-r--r--MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs2
-rw-r--r--MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs9
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs34
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