diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-29 18:01:02 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-29 18:01:02 -0400 |
| commit | e33244d7971f0299cd21297597da6181d01631e9 (patch) | |
| tree | b11fc639998458f3b8d95b54538bd5dc0e6868bd /MediaBrowser.Controller | |
| parent | 5eec770ae2ea61597f6e80877860d48f540b78e8 (diff) | |
improve user view images
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserView.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserViewBuilder.cs | 147 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/ILibraryManager.cs | 19 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/IUserViewManager.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/MediaBrowser.Controller.csproj | 7 |
6 files changed, 107 insertions, 88 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 82971ac5c..d82ef3f56 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -373,6 +373,15 @@ namespace MediaBrowser.Controller.Entities return System.IO.Path.Combine(basePath, idString.Substring(0, 2), idString); } + public static string GetInternalMetadataPathForId(Guid id) + { + var idString = id.ToString("N"); + + var basePath = ConfigurationManager.ApplicationPaths.InternalMetadataPath; + + return System.IO.Path.Combine(basePath, idString.Substring(0, 2), idString); + } + /// <summary> /// Creates the name of the sort. /// </summary> diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs index eb08a6f2f..c313966a5 100644 --- a/MediaBrowser.Controller/Entities/UserView.cs +++ b/MediaBrowser.Controller/Entities/UserView.cs @@ -12,12 +12,21 @@ namespace MediaBrowser.Controller.Entities public string ViewType { get; set; } public Guid ParentId { get; set; } + public Guid? UserId { get; set; } + public static ITVSeriesManager TVSeriesManager; public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query) { + var parent = this as Folder; + + if (ParentId != Guid.Empty) + { + parent = LibraryManager.GetItemById(ParentId) as Folder ?? parent; + } + return new UserViewBuilder(UserViewManager, LiveTvManager, ChannelManager, LibraryManager, Logger, UserDataManager, TVSeriesManager, CollectionManager) - .GetUserItems(this, ViewType, query); + .GetUserItems(parent, ViewType, query); } public override IEnumerable<BaseItem> GetChildren(User user, bool includeLinkedChildren) diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index bf6cac87e..ff3b5920e 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -1,5 +1,4 @@ -using System.IO; -using MediaBrowser.Controller.Channels; +using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Collections; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Movies; @@ -15,6 +14,7 @@ using MediaBrowser.Model.Logging; using MediaBrowser.Model.Querying; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -63,7 +63,7 @@ namespace MediaBrowser.Controller.Entities return GetResult(result); } - case CollectionType.LiveTvChannels: + case SpecialFolder.LiveTvChannels: { var result = await _liveTvManager.GetInternalChannels(new LiveTvChannelQuery { @@ -76,7 +76,7 @@ namespace MediaBrowser.Controller.Entities return GetResult(result); } - case CollectionType.LiveTvNowPlaying: + case SpecialFolder.LiveTvNowPlaying: { var result = await _liveTvManager.GetRecommendedProgramsInternal(new RecommendedProgramQuery { @@ -89,7 +89,7 @@ namespace MediaBrowser.Controller.Entities return GetResult(result); } - case CollectionType.LiveTvRecordingGroups: + case SpecialFolder.LiveTvRecordingGroups: { var result = await _liveTvManager.GetInternalRecordings(new RecordingQuery { @@ -128,85 +128,85 @@ namespace MediaBrowser.Controller.Entities case CollectionType.Movies: return await GetMovieFolders(parent, user, query).ConfigureAwait(false); - case CollectionType.GameGenres: + case SpecialFolder.GameGenres: return GetGameGenres(parent, user, query); - case CollectionType.GameSystems: + case SpecialFolder.GameSystems: return GetGameSystems(parent, user, query); - case CollectionType.LatestGames: + case SpecialFolder.LatestGames: return GetLatestGames(parent, user, query); - case CollectionType.RecentlyPlayedGames: + case SpecialFolder.RecentlyPlayedGames: return GetRecentlyPlayedGames(parent, user, query); - case CollectionType.GameFavorites: + case SpecialFolder.GameFavorites: return GetFavoriteGames(parent, user, query); - case CollectionType.TvShowSeries: + case SpecialFolder.TvShowSeries: return GetTvSeries(parent, user, query); - case CollectionType.TvGenres: + case SpecialFolder.TvGenres: return GetTvGenres(parent, user, query); - case CollectionType.TvResume: + case SpecialFolder.TvResume: return GetTvResume(parent, user, query); - case CollectionType.TvNextUp: + case SpecialFolder.TvNextUp: return GetTvNextUp(parent, query); - case CollectionType.TvLatest: + case SpecialFolder.TvLatest: return GetTvLatest(parent, user, query); - case CollectionType.MovieFavorites: + case SpecialFolder.MovieFavorites: return GetFavoriteMovies(parent, user, query); - case CollectionType.MovieLatest: + case SpecialFolder.MovieLatest: return GetMovieLatest(parent, user, query); - case CollectionType.MovieGenres: + case SpecialFolder.MovieGenres: return GetMovieGenres(parent, user, query); - case CollectionType.MovieResume: + case SpecialFolder.MovieResume: return GetMovieResume(parent, user, query); - case CollectionType.MovieMovies: + case SpecialFolder.MovieMovies: return GetMovieMovies(parent, user, query); - case CollectionType.MovieCollections: + case SpecialFolder.MovieCollections: return GetMovieCollections(parent, user, query); - case CollectionType.MusicLatest: + case SpecialFolder.MusicLatest: return GetMusicLatest(parent, user, query); - case CollectionType.MusicAlbums: + case SpecialFolder.MusicAlbums: return GetMusicAlbums(parent, user, query); - case CollectionType.MusicAlbumArtists: + case SpecialFolder.MusicAlbumArtists: return GetMusicAlbumArtists(parent, user, query); - case CollectionType.MusicArtists: + case SpecialFolder.MusicArtists: return GetMusicArtists(parent, user, query); - case CollectionType.MusicSongs: + case SpecialFolder.MusicSongs: return GetMusicSongs(parent, user, query); - case CollectionType.TvFavoriteEpisodes: + case SpecialFolder.TvFavoriteEpisodes: return GetFavoriteEpisodes(parent, user, query); - case CollectionType.TvFavoriteSeries: + case SpecialFolder.TvFavoriteSeries: return GetFavoriteSeries(parent, user, query); - case CollectionType.MusicFavorites: + case SpecialFolder.MusicFavorites: return await GetMusicFavorites(parent, user, query).ConfigureAwait(false); - case CollectionType.MusicFavoriteAlbums: + case SpecialFolder.MusicFavoriteAlbums: return GetFavoriteAlbums(parent, user, query); - case CollectionType.MusicFavoriteArtists: + case SpecialFolder.MusicFavoriteArtists: return GetFavoriteArtists(parent, user, query); - case CollectionType.MusicFavoriteSongs: + case SpecialFolder.MusicFavoriteSongs: return GetFavoriteSongs(parent, user, query); default: @@ -228,15 +228,13 @@ namespace MediaBrowser.Controller.Entities var list = new List<BaseItem>(); - var category = "music"; - - list.Add(await GetUserView(category, CollectionType.MusicLatest, user, "0", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicAlbums, user, "1", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicAlbumArtists, user, "2", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicSongs, user, "3", parent).ConfigureAwait(false)); - //list.Add(await GetUserView(CollectionType.MusicArtists, user, "3", parent).ConfigureAwait(false)); - //list.Add(await GetUserView(CollectionType.MusicGenres, user, "5", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicFavorites, user, "6", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicLatest, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicAlbums, user, "1", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicAlbumArtists, user, "2", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicSongs, user, "3", parent).ConfigureAwait(false)); + //list.Add(await GetUserView(SpecialFolder.MusicArtists, user, "3", parent).ConfigureAwait(false)); + //list.Add(await GetUserView(SpecialFolder.MusicGenres, user, "5", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicFavorites, user, "6", parent).ConfigureAwait(false)); return GetResult(list, parent, query); } @@ -245,11 +243,9 @@ namespace MediaBrowser.Controller.Entities { var list = new List<BaseItem>(); - var category = "music"; - - list.Add(await GetUserView(category, CollectionType.MusicFavoriteAlbums, user, "0", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicFavoriteArtists, user, "1", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MusicFavoriteSongs, user, "2", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicFavoriteAlbums, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicFavoriteArtists, user, "1", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MusicFavoriteSongs, user, "2", parent).ConfigureAwait(false)); return GetResult(list, parent, query); } @@ -353,13 +349,11 @@ namespace MediaBrowser.Controller.Entities var list = new List<BaseItem>(); - var category = "movies"; - - list.Add(await GetUserView(category, CollectionType.MovieResume, user, "0", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MovieLatest, user, "1", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MovieMovies, user, "2", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MovieCollections, user, "3", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.MovieFavorites, user, "4", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MovieResume, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MovieLatest, user, "1", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MovieMovies, user, "2", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MovieCollections, user, "3", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.MovieFavorites, user, "4", parent).ConfigureAwait(false)); //list.Add(await GetUserView(CollectionType.MovieGenres, user, "5", parent).ConfigureAwait(false)); return GetResult(list, parent, query); @@ -461,15 +455,13 @@ namespace MediaBrowser.Controller.Entities var list = new List<BaseItem>(); - var category = "tvshows"; - - list.Add(await GetUserView(category, CollectionType.TvResume, user, "0", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.TvNextUp, user, "1", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.TvLatest, user, "2", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.TvShowSeries, user, "3", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.TvFavoriteSeries, user, "4", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.TvFavoriteEpisodes, user, "5", parent).ConfigureAwait(false)); - //list.Add(await GetUserView(CollectionType.TvGenres, user, "5", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvResume, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvNextUp, user, "1", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvLatest, user, "2", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvShowSeries, user, "3", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvFavoriteSeries, user, "4", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.TvFavoriteEpisodes, user, "5", parent).ConfigureAwait(false)); + //list.Add(await GetUserView(SpecialFolder.TvGenres, user, "5", parent).ConfigureAwait(false)); return GetResult(list, parent, query); } @@ -483,13 +475,11 @@ namespace MediaBrowser.Controller.Entities var list = new List<BaseItem>(); - var category = "games"; - - list.Add(await GetUserView(category, CollectionType.LatestGames, user, "0", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.RecentlyPlayedGames, user, "1", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.GameFavorites, user, "2", parent).ConfigureAwait(false)); - list.Add(await GetUserView(category, CollectionType.GameSystems, user, "3", parent).ConfigureAwait(false)); - //list.Add(await GetUserView(CollectionType.GameGenres, user, "4", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.LatestGames, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.RecentlyPlayedGames, user, "1", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.GameFavorites, user, "2", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.GameSystems, user, "3", parent).ConfigureAwait(false)); + //list.Add(await GetUserView(SpecialFolder.GameGenres, user, "4", parent).ConfigureAwait(false)); return GetResult(list, parent, query); } @@ -1491,25 +1481,20 @@ namespace MediaBrowser.Controller.Entities { var list = new List<BaseItem>(); - list.Add(await _userViewManager.GetUserView("livetv", CollectionType.LiveTvNowPlaying, user, "0", CancellationToken.None).ConfigureAwait(false)); - list.Add(await _userViewManager.GetUserView("livetv", CollectionType.LiveTvChannels, user, string.Empty, CancellationToken.None).ConfigureAwait(false)); - list.Add(await _userViewManager.GetUserView("livetv", CollectionType.LiveTvRecordingGroups, user, string.Empty, CancellationToken.None).ConfigureAwait(false)); + var parent = user.RootFolder; + + list.Add(await GetUserView(SpecialFolder.LiveTvNowPlaying, user, "0", parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.LiveTvChannels, user, string.Empty, parent).ConfigureAwait(false)); + list.Add(await GetUserView(SpecialFolder.LiveTvRecordingGroups, user, string.Empty, parent).ConfigureAwait(false)); return list; } - private async Task<UserView> GetUserView(string category, string type, User user, string sortName, Folder parent) + private async Task<UserView> GetUserView(string type, User user, string sortName, Folder parent) { - var view = await _userViewManager.GetUserView(category, type, user, sortName, CancellationToken.None) + var view = await _userViewManager.GetUserView(parent.Id.ToString("N"), type, user, sortName, CancellationToken.None) .ConfigureAwait(false); - if (parent.Id != view.ParentId) - { - view.ParentId = parent.Id; - await view.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None) - .ConfigureAwait(false); - } - return view; } diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index f93564882..be43f4527 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -325,15 +325,21 @@ namespace MediaBrowser.Controller.Library IEnumerable<BaseItem> ReplaceVideosWithPrimaryVersions(IEnumerable<BaseItem> items); /// <summary> - /// Gets the named folder. + /// Gets the special folder. /// </summary> + /// <param name="user">The user.</param> /// <param name="name">The name.</param> - /// <param name="category">The category.</param> + /// <param name="parentId">The parent identifier.</param> /// <param name="viewType">Type of the view.</param> /// <param name="sortName">Name of the sort.</param> /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task{Folder}.</returns> - Task<UserView> GetNamedView(string name, string category, string viewType, string sortName, CancellationToken cancellationToken); + /// <returns>Task<UserView>.</returns> + Task<UserView> GetSpecialFolder(User user, + string name, + string parentId, + string viewType, + string sortName, + CancellationToken cancellationToken); /// <summary> /// Gets the named view. @@ -343,6 +349,9 @@ namespace MediaBrowser.Controller.Library /// <param name="sortName">Name of the sort.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>Task<UserView>.</returns> - Task<UserView> GetNamedView(string name, string viewType, string sortName, CancellationToken cancellationToken); + Task<UserView> GetNamedView(string name, + string viewType, + string sortName, + CancellationToken cancellationToken); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Library/IUserViewManager.cs b/MediaBrowser.Controller/Library/IUserViewManager.cs index 5b6189837..12dc9c0b2 100644 --- a/MediaBrowser.Controller/Library/IUserViewManager.cs +++ b/MediaBrowser.Controller/Library/IUserViewManager.cs @@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.Library { Task<IEnumerable<Folder>> GetUserViews(UserViewQuery query, CancellationToken cancellationToken); - Task<UserView> GetUserView(string type, User user, string sortName, CancellationToken cancellationToken); + Task<UserView> GetUserView(string type, string sortName, CancellationToken cancellationToken); Task<UserView> GetUserView(string category, string type, User user, string sortName, CancellationToken cancellationToken); } diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 232f36ebf..5e90b9938 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -369,6 +369,13 @@ xcopy "$(TargetPath)" "$(SolutionDir)\Nuget\dlls\" /y /d /r /i <PreBuildEvent> </PreBuildEvent> </PropertyGroup> + <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> + </Target> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> |
