diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-15 13:37:27 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-10-15 13:37:27 -0400 |
| commit | 8f1899906b747b09ef9356d932e65f2257115734 (patch) | |
| tree | 99945543c6116bb8caecbd7ef87f58dfe38044cf | |
| parent | f4ad65196a255457bdd4fed645a50ed009669549 (diff) | |
show library folder images
| -rw-r--r-- | MediaBrowser.Model/Entities/VirtualFolderInfo.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LibraryManager.cs | 34 |
2 files changed, 31 insertions, 9 deletions
diff --git a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs index d440f97bd..b7f92e9ec 100644 --- a/MediaBrowser.Model/Entities/VirtualFolderInfo.cs +++ b/MediaBrowser.Model/Entities/VirtualFolderInfo.cs @@ -32,5 +32,11 @@ namespace MediaBrowser.Model.Entities { Locations = new List<string>(); } + + /// <summary> + /// Gets or sets the primary image item identifier. + /// </summary> + /// <value>The primary image item identifier.</value> + public string PrimaryImageItemId { get; set; } } } diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 06b9ecabe..ce2dbb526 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -1171,18 +1171,34 @@ namespace MediaBrowser.Server.Implementations.Library /// <returns>IEnumerable{VirtualFolderInfo}.</returns> private IEnumerable<VirtualFolderInfo> GetView(string path) { + var topLibraryFolders = GetUserRootFolder().Children.ToList(); + return _fileSystem.GetDirectoryPaths(path) - .Select(dir => new VirtualFolderInfo - { - Name = Path.GetFileName(dir), + .Select(dir => GetVirtualFolderInfo(dir, topLibraryFolders)); + } - Locations = Directory.EnumerateFiles(dir, "*.mblink", SearchOption.TopDirectoryOnly) - .Select(_fileSystem.ResolveShortcut) - .OrderBy(i => i) - .ToList(), + private VirtualFolderInfo GetVirtualFolderInfo(string dir, List<BaseItem> collectionFolders) + { + var info = new VirtualFolderInfo + { + Name = Path.GetFileName(dir), - CollectionType = GetCollectionType(dir) - }); + Locations = Directory.EnumerateFiles(dir, "*.mblink", SearchOption.TopDirectoryOnly) + .Select(_fileSystem.ResolveShortcut) + .OrderBy(i => i) + .ToList(), + + CollectionType = GetCollectionType(dir) + }; + + var libraryFolder = collectionFolders.FirstOrDefault(i => string.Equals(i.Path, dir, StringComparison.OrdinalIgnoreCase)); + + if (libraryFolder != null && libraryFolder.HasImage(ImageType.Primary)) + { + info.PrimaryImageItemId = libraryFolder.Id.ToString("N"); + } + + return info; } private string GetCollectionType(string path) |
