aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/UserViews
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/UserViews')
-rw-r--r--Emby.Server.Implementations/UserViews/CollectionFolderImageProvider.cs99
-rw-r--r--Emby.Server.Implementations/UserViews/DynamicImageProvider.cs137
-rw-r--r--Emby.Server.Implementations/UserViews/FolderImageProvider.cs106
3 files changed, 0 insertions, 342 deletions
diff --git a/Emby.Server.Implementations/UserViews/CollectionFolderImageProvider.cs b/Emby.Server.Implementations/UserViews/CollectionFolderImageProvider.cs
deleted file mode 100644
index ce6c2cd87..000000000
--- a/Emby.Server.Implementations/UserViews/CollectionFolderImageProvider.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Emby.Server.Implementations.Images;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Dto;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Querying;
-
-namespace Emby.Server.Implementations.UserViews
-{
- public class CollectionFolderImageProvider : BaseDynamicImageProvider<CollectionFolder>
- {
- public CollectionFolderImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
- {
- }
-
- protected override List<BaseItem> GetItemsWithImages(BaseItem item)
- {
- var view = (CollectionFolder)item;
- var viewType = view.CollectionType;
-
- string[] includeItemTypes;
-
- if (string.Equals(viewType, CollectionType.Movies))
- {
- includeItemTypes = new string[] { "Movie" };
- }
- else if (string.Equals(viewType, CollectionType.TvShows))
- {
- includeItemTypes = new string[] { "Series" };
- }
- else if (string.Equals(viewType, CollectionType.Music))
- {
- includeItemTypes = new string[] { "MusicAlbum" };
- }
- else if (string.Equals(viewType, CollectionType.Books))
- {
- includeItemTypes = new string[] { "Book", "AudioBook" };
- }
- else if (string.Equals(viewType, CollectionType.BoxSets))
- {
- includeItemTypes = new string[] { "BoxSet" };
- }
- else if (string.Equals(viewType, CollectionType.HomeVideos) || string.Equals(viewType, CollectionType.Photos))
- {
- includeItemTypes = new string[] { "Video", "Photo" };
- }
- else
- {
- includeItemTypes = new string[] { "Video", "Audio", "Photo", "Movie", "Series" };
- }
-
- var recursive = !new[] { CollectionType.Playlists }.Contains(view.CollectionType ?? string.Empty, StringComparer.OrdinalIgnoreCase);
-
- return view.GetItemList(new InternalItemsQuery
- {
- CollapseBoxSetItems = false,
- Recursive = recursive,
- DtoOptions = new DtoOptions(false),
- ImageTypes = new ImageType[] { ImageType.Primary },
- Limit = 8,
- OrderBy = new ValueTuple<string, SortOrder>[]
- {
- new ValueTuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending)
- },
- IncludeItemTypes = includeItemTypes
-
- }).ToList();
- }
-
- protected override bool Supports(BaseItem item)
- {
- return item is CollectionFolder;
- }
-
- protected override string CreateImage(BaseItem item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex)
- {
- var outputPath = Path.ChangeExtension(outputPathWithoutExtension, ".png");
-
- if (imageType == ImageType.Primary)
- {
- if (itemsWithImages.Count == 0)
- {
- return null;
- }
-
- return CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540);
- }
-
- return base.CreateImage(item, itemsWithImages, outputPath, imageType, imageIndex);
- }
- }
-}
diff --git a/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs b/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs
deleted file mode 100644
index 4ec68e550..000000000
--- a/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Emby.Server.Implementations.Images;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Dto;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.IO;
-
-namespace Emby.Server.Implementations.UserViews
-{
- public class DynamicImageProvider : BaseDynamicImageProvider<UserView>
- {
- private readonly IUserManager _userManager;
- private readonly ILibraryManager _libraryManager;
-
- public DynamicImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, IUserManager userManager, ILibraryManager libraryManager)
- : base(fileSystem, providerManager, applicationPaths, imageProcessor)
- {
- _userManager = userManager;
- _libraryManager = libraryManager;
- }
-
- protected override List<BaseItem> GetItemsWithImages(BaseItem item)
- {
- var view = (UserView)item;
-
- var isUsingCollectionStrip = IsUsingCollectionStrip(view);
- var recursive = isUsingCollectionStrip && !new[] { CollectionType.BoxSets, CollectionType.Playlists }.Contains(view.ViewType ?? string.Empty, StringComparer.OrdinalIgnoreCase);
-
- var result = view.GetItemList(new InternalItemsQuery
- {
- User = view.UserId.HasValue ? _userManager.GetUserById(view.UserId.Value) : null,
- CollapseBoxSetItems = false,
- Recursive = recursive,
- ExcludeItemTypes = new[] { "UserView", "CollectionFolder", "Person" },
- DtoOptions = new DtoOptions(false)
- });
-
- var items = result.Select(i =>
- {
- var episode = i as Episode;
- if (episode != null)
- {
- var series = episode.Series;
- if (series != null)
- {
- return series;
- }
-
- return episode;
- }
-
- var season = i as Season;
- if (season != null)
- {
- var series = season.Series;
- if (series != null)
- {
- return series;
- }
-
- return season;
- }
-
- var audio = i as Audio;
- if (audio != null)
- {
- var album = audio.AlbumEntity;
- if (album != null && album.HasImage(ImageType.Primary))
- {
- return album;
- }
- }
-
- return i;
-
- }).GroupBy(x => x.Id)
- .Select(x => x.First());
-
- if (isUsingCollectionStrip)
- {
- return items
- .Where(i => i.HasImage(ImageType.Primary) || i.HasImage(ImageType.Thumb))
- .OrderBy(i => Guid.NewGuid())
- .ToList();
- }
-
- return items
- .Where(i => i.HasImage(ImageType.Primary))
- .OrderBy(i => Guid.NewGuid())
- .ToList();
- }
-
- protected override bool Supports(BaseItem item)
- {
- var view = item as UserView;
- if (view != null)
- {
- return IsUsingCollectionStrip(view);
- }
-
- return false;
- }
-
- private static bool IsUsingCollectionStrip(UserView view)
- {
- string[] collectionStripViewTypes =
- {
- CollectionType.Movies,
- CollectionType.TvShows,
- CollectionType.Playlists
- };
-
- return collectionStripViewTypes.Contains(view.ViewType ?? string.Empty);
- }
-
- protected override string CreateImage(BaseItem item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex)
- {
- if (itemsWithImages.Count == 0)
- {
- return null;
- }
-
- var outputPath = Path.ChangeExtension(outputPathWithoutExtension, ".png");
-
- return CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540);
- }
- }
-}
diff --git a/Emby.Server.Implementations/UserViews/FolderImageProvider.cs b/Emby.Server.Implementations/UserViews/FolderImageProvider.cs
deleted file mode 100644
index c810004ab..000000000
--- a/Emby.Server.Implementations/UserViews/FolderImageProvider.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using System.Collections.Generic;
-using Emby.Server.Implementations.Images;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Dto;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Audio;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Querying;
-
-namespace Emby.Server.Implementations.UserViews
-{
- public abstract class BaseFolderImageProvider<T> : BaseDynamicImageProvider<T>
- where T : Folder, new()
- {
- protected ILibraryManager _libraryManager;
-
- public BaseFolderImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager)
- : base(fileSystem, providerManager, applicationPaths, imageProcessor)
- {
- _libraryManager = libraryManager;
- }
-
- protected override List<BaseItem> GetItemsWithImages(BaseItem item)
- {
- return _libraryManager.GetItemList(new InternalItemsQuery
- {
- Parent = item,
- DtoOptions = new DtoOptions(true),
- ImageTypes = new ImageType[] { ImageType.Primary },
- OrderBy = new System.ValueTuple<string, SortOrder>[]
- {
- new System.ValueTuple<string, SortOrder>(ItemSortBy.IsFolder, SortOrder.Ascending),
- new System.ValueTuple<string, SortOrder>(ItemSortBy.SortName, SortOrder.Ascending)
- },
- Limit = 1
- });
- }
-
- protected override string CreateImage(BaseItem item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex)
- {
- return CreateSingleImage(itemsWithImages, outputPathWithoutExtension, ImageType.Primary);
- }
-
- protected override bool Supports(BaseItem item)
- {
- return item is T;
- }
-
- protected override bool HasChangedByDate(BaseItem item, ItemImageInfo image)
- {
- if (item is MusicAlbum)
- {
- return false;
- }
-
- return base.HasChangedByDate(item, image);
- }
- }
-
- public class FolderImageProvider : BaseFolderImageProvider<Folder>
- {
- public FolderImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager)
- : base(fileSystem, providerManager, applicationPaths, imageProcessor, libraryManager)
- {
- }
-
- protected override bool Supports(BaseItem item)
- {
- if (item is PhotoAlbum || item is MusicAlbum)
- {
- return false;
- }
-
- var folder = item as Folder;
- if (folder != null)
- {
- if (folder.IsTopParent)
- {
- return false;
- }
- }
- return true;
- //return item.SourceType == SourceType.Library;
- }
- }
-
- public class MusicAlbumImageProvider : BaseFolderImageProvider<MusicAlbum>
- {
- public MusicAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager)
- : base(fileSystem, providerManager, applicationPaths, imageProcessor, libraryManager)
- {
- }
- }
-
- public class PhotoAlbumImageProvider : BaseFolderImageProvider<PhotoAlbum>
- {
- public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager)
- : base(fileSystem, providerManager, applicationPaths, imageProcessor, libraryManager)
- {
- }
- }
-}