diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-20 21:03:33 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-20 21:03:33 -0400 |
| commit | a3a658e82079ac8e56193ce4d2047a547e0289c9 (patch) | |
| tree | 4e3cd63d3386e478d8820c224b4d04239ad127e9 | |
| parent | 2456a66e854a09e2db9fcad1625d8782597cb02e (diff) | |
added more info to user library counts
| -rw-r--r-- | MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs | 254 | ||||
| -rw-r--r-- | MediaBrowser.Api/DefaultTheme/Models.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/LibraryService.cs | 56 | ||||
| -rw-r--r-- | MediaBrowser.Model/Configuration/ServerConfiguration.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dto/ItemCounts.cs | 50 | ||||
| -rw-r--r-- | MediaBrowser.Providers/ImageFromMediaLocationProvider.cs | 19 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Movies/TmdbPersonProvider.cs | 2 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.Internal.nuspec | 4 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Common.nuspec | 2 | ||||
| -rw-r--r-- | Nuget/MediaBrowser.Server.Core.nuspec | 4 |
12 files changed, 315 insertions, 120 deletions
diff --git a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs index 6c7ba96ec..385bef026 100644 --- a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs +++ b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs @@ -51,8 +51,8 @@ namespace MediaBrowser.Api.DefaultTheme public string RomanceGenre { get; set; } } - [Route("/MBT/DefaultTheme/Home", "GET")] - public class GetHomeView : IReturn<HomeView> + [Route("/MBT/DefaultTheme/Favorites", "GET")] + public class GetFavoritesView : IReturn<FavoritesView> { [ApiMember(Name = "UserId", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")] public Guid UserId { get; set; } @@ -78,47 +78,103 @@ namespace MediaBrowser.Api.DefaultTheme _userDataManager = userDataManager; } - public object Get(GetHomeView request) - { - var result = GetHomeView(request); - - return ToOptimizedResult(result); - } - - private HomeView GetHomeView(GetHomeView request) + public object Get(GetFavoritesView request) { var user = _userManager.GetUserById(request.UserId); - var allItems = user.RootFolder.GetRecursiveChildren(user) + var allItems = user.RootFolder.GetRecursiveChildren(user, i => _userDataManager.GetUserData(user.Id, i.GetUserDataKey()).IsFavorite) .ToList(); - var itemsWithBackdrops = allItems.Where(i => i.BackdropImagePaths.Count > 0).ToList(); + var itemsWithImages = allItems.Where(i => !string.IsNullOrEmpty(i.PrimaryImagePath)) + .ToList(); + + var itemsWithBackdrops = allItems.Where(i => i.BackdropImagePaths.Count > 0) + .ToList(); - var view = new HomeView(); + var view = new FavoritesView(); var fields = new List<ItemFields>(); - var eligibleSpotlightItems = itemsWithBackdrops - .Where(i => i is Game || i is Movie || i is Series || i is MusicArtist); + view.BackdropItems = FilterItemsForBackdropDisplay(itemsWithBackdrops.OrderBy(i => Guid.NewGuid())) + .Take(10) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + var spotlightItems = itemsWithBackdrops.OrderBy(i => Guid.NewGuid()) + .Take(10) + .ToList(); - var dtos = FilterItemsForBackdropDisplay(eligibleSpotlightItems) + view.SpotlightItems = spotlightItems + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + view.Albums = itemsWithImages + .OfType<MusicAlbum>() .OrderBy(i => Guid.NewGuid()) - .Take(50) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); + .Take(4) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); - view.SpotlightItems = dtos.ToList(); + view.Books = itemsWithImages + .OfType<Book>() + .OrderBy(i => Guid.NewGuid()) + .Take(6) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); - return view; - } + view.Episodes = itemsWithImages + .OfType<Episode>() + .OrderBy(i => Guid.NewGuid()) + .Take(6) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); - public object Get(GetGamesView request) - { - var result = GetGamesView(request); + view.Games = itemsWithImages + .OfType<Game>() + .OrderBy(i => Guid.NewGuid()) + .Take(6) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + view.Movies = itemsWithImages + .OfType<Movie>() + .OrderBy(i => Guid.NewGuid()) + .Take(6) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + view.Series = itemsWithImages + .OfType<Series>() + .OrderBy(i => Guid.NewGuid()) + .Take(6) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); - return ToOptimizedResult(result); + view.Songs = itemsWithImages + .OfType<Audio>() + .OrderBy(i => Guid.NewGuid()) + .Take(4) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + view.Artists = itemsWithImages + .OfType<MusicArtist>() + .OrderBy(i => Guid.NewGuid()) + .Take(4) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + view.MiniSpotlights = itemsWithBackdrops + .Except(spotlightItems) + .OrderBy(i => Guid.NewGuid()) + .Take(5) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + return ToOptimizedResult(view); } - private GamesView GetGamesView(GetGamesView request) + public object Get(GetGamesView request) { var user = _userManager.GetUserById(request.UserId); @@ -129,17 +185,23 @@ namespace MediaBrowser.Api.DefaultTheme var itemsWithBackdrops = FilterItemsForBackdropDisplay(items.Where(i => i.BackdropImagePaths.Count > 0)).ToList(); + var gamesWithBackdrops = itemsWithBackdrops.OfType<Game>().ToList(); + var view = new GamesView(); var fields = new List<ItemFields>(); - var dtos = itemsWithBackdrops - .OfType<Game>() + view.BackdropItems = gamesWithBackdrops .OrderBy(i => Guid.NewGuid()) - .Take(50) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); + .Take(10) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); - view.SpotlightItems = dtos.ToList(); + view.SpotlightItems = gamesWithBackdrops + .OrderBy(i => Guid.NewGuid()) + .Take(10) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); view.MultiPlayerItems = gamesWithImages .Where(i => i.PlayersSupported.HasValue && i.PlayersSupported.Value > 1) @@ -149,32 +211,17 @@ namespace MediaBrowser.Api.DefaultTheme .Take(1) .ToList(); - view.MiniSpotlights = itemsWithBackdrops - .OfType<Game>() + view.MiniSpotlights = gamesWithBackdrops .OrderBy(i => Guid.NewGuid()) - .Take(3) + .Take(5) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) .ToList(); - - return view; - } - - public object Get(GetMovieView request) - { - var result = GetMovieView(request); - return ToOptimizedResult(result); + return ToOptimizedResult(view); } public object Get(GetTvView request) { - var result = GetTvView(request); - - return ToOptimizedResult(result); - } - - private TvView GetTvView(GetTvView request) - { var user = _userManager.GetUserById(request.UserId); var series = user.RootFolder.GetRecursiveChildren(user) @@ -187,13 +234,14 @@ namespace MediaBrowser.Api.DefaultTheme var fields = new List<ItemFields>(); - var dtos = FilterItemsForBackdropDisplay(seriesWithBackdrops) + var seriesWithBestBackdrops = FilterItemsForBackdropDisplay(seriesWithBackdrops).ToList(); + + view.BackdropItems = seriesWithBestBackdrops .OrderBy(i => Guid.NewGuid()) - .Take(50) + .Take(10) .AsParallel() - .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); - - view.SpotlightItems = dtos.ToList(); + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); view.ShowsItems = series .Where(i => i.BackdropImagePaths.Count > 0) @@ -224,16 +272,45 @@ namespace MediaBrowser.Api.DefaultTheme view.ActorItems = GetActors(series, user.Id); - view.MiniSpotlights = seriesWithBackdrops + var spotlightSeries = seriesWithBestBackdrops + .Where(i => i.CommunityRating.HasValue && i.CommunityRating >= 8.5) + .ToList(); + + if (spotlightSeries.Count < 20) + { + spotlightSeries = seriesWithBestBackdrops; + } + + spotlightSeries = spotlightSeries + .OrderBy(i => Guid.NewGuid()) + .Take(10) + .ToList(); + + view.SpotlightItems = spotlightSeries + .AsParallel() + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + var miniSpotlightItems = seriesWithBackdrops + .Except(spotlightSeries.OfType<Series>()) + .Where(i => i.CommunityRating.HasValue && i.CommunityRating >= 8) + .ToList(); + + if (miniSpotlightItems.Count < 15) + { + miniSpotlightItems = seriesWithBackdrops; + } + + view.MiniSpotlights = miniSpotlightItems .OrderBy(i => Guid.NewGuid()) - .Take(3) + .Take(5) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) .ToList(); - - return view; + + return ToOptimizedResult(view); } - private MoviesView GetMovieView(GetMovieView request) + public object Get(GetMovieView request) { var user = _userManager.GetUserById(request.UserId); @@ -241,7 +318,7 @@ namespace MediaBrowser.Api.DefaultTheme .ToList(); // Exclude trailers from backdrops because they're not always 1080p - var itemsWithBackdrops = items.Where(i => i.BackdropImagePaths.Count > 0 && !(i is Trailer)) + var itemsWithBackdrops = items.Where(i => i.BackdropImagePaths.Count > 0) .ToList(); var view = new MoviesView(); @@ -267,12 +344,14 @@ namespace MediaBrowser.Api.DefaultTheme var fields = new List<ItemFields>(); - var dtos = FilterItemsForBackdropDisplay(itemsWithBackdrops) - .OrderBy(i => Guid.NewGuid()) - .Take(50) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); + var itemsWithTopBackdrops = FilterItemsForBackdropDisplay(itemsWithBackdrops).ToList(); - view.SpotlightItems = dtos.ToList(); + view.BackdropItems = itemsWithTopBackdrops + .OrderBy(i => Guid.NewGuid()) + .Take(10) + .AsParallel() + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); view.MovieItems = moviesWithBackdrops .OrderBy(i => Guid.NewGuid()) @@ -344,13 +423,52 @@ namespace MediaBrowser.Api.DefaultTheme view.PeopleItems = GetActors(items, user.Id); - view.MiniSpotlights = moviesWithBackdrops + var spotlightItems = itemsWithTopBackdrops + .Where(i => i.CommunityRating.HasValue && i.CommunityRating >= 8) + .ToList(); + + if (spotlightItems.Count < 20) + { + spotlightItems = itemsWithTopBackdrops; + } + + spotlightItems = spotlightItems + .OrderBy(i => Guid.NewGuid()) + .Take(10) + .ToList(); + + view.SpotlightItems = spotlightItems + .AsParallel() + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) + .ToList(); + + var miniSpotlightItems = moviesWithBackdrops + .Except(spotlightItems) + .Where(i => i.CommunityRating.HasValue && i.CommunityRating >= 7.5) + .ToList(); + + if (miniSpotlightItems.Count < 15) + { + miniSpotlightItems = itemsWithTopBackdrops; + } + + miniSpotlightItems = miniSpotlightItems .OrderBy(i => Guid.NewGuid()) - .Take(3) + .ToList(); + + // Avoid implicitly captured closure + var currentUserId = user.Id; + miniSpotlightItems.InsertRange(2, moviesWithBackdrops + .Where(i => _userDataManager.GetUserData(currentUserId, i.GetUserDataKey()).PlaybackPositionTicks > 0) + .OrderByDescending(i => _userDataManager.GetUserData(currentUserId, i.GetUserDataKey()).LastPlayedDate ?? DateTime.MaxValue) + .Take(3)); + + view.MiniSpotlights = miniSpotlightItems + .Take(5) .Select(i => _dtoService.GetBaseItemDto(i, fields, user)) .ToList(); - return view; + return ToOptimizedResult(view); } private IEnumerable<BaseItem> FilterItemsForBackdropDisplay(IEnumerable<BaseItem> items) diff --git a/MediaBrowser.Api/DefaultTheme/Models.cs b/MediaBrowser.Api/DefaultTheme/Models.cs index 1fc230fd4..f44387326 100644 --- a/MediaBrowser.Api/DefaultTheme/Models.cs +++ b/MediaBrowser.Api/DefaultTheme/Models.cs @@ -50,13 +50,20 @@ namespace MediaBrowser.Api.DefaultTheme public class BaseView { + public List<BaseItemDto> BackdropItems { get; set; } public List<BaseItemDto> SpotlightItems { get; set; } - public List<BaseItemDto> MiniSpotlights { get; set; } } - public class HomeView + public class FavoritesView : BaseView { - public List<BaseItemDto> SpotlightItems { get; set; } + public List<BaseItemDto> Movies { get; set; } + public List<BaseItemDto> Series { get; set; } + public List<BaseItemDto> Episodes { get; set; } + public List<BaseItemDto> Games { get; set; } + public List<BaseItemDto> Books { get; set; } + public List<BaseItemDto> Albums { get; set; } + public List<BaseItemDto> Songs { get; set; } + public List<BaseItemDto> Artists { get; set; } } } diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index 16952dabd..89f082b63 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -204,6 +204,7 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IUserManager _userManager; + private readonly IUserDataManager _userDataManager; private readonly IDtoService _dtoService; @@ -211,12 +212,13 @@ namespace MediaBrowser.Api /// Initializes a new instance of the <see cref="LibraryService" /> class. /// </summary> public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, - IDtoService dtoService) + IDtoService dtoService, IUserDataManager userDataManager) { _itemRepo = itemRepo; _libraryManager = libraryManager; _userManager = userManager; _dtoService = dtoService; + _userDataManager = userDataManager; } public object Get(GetFile request) @@ -332,27 +334,59 @@ namespace MediaBrowser.Api { var items = GetAllLibraryItems(request.UserId, _userManager, _libraryManager).ToList(); + var albums = items.OfType<MusicAlbum>().ToList(); + var episodes = items.OfType<Episode>().ToList(); + var games = items.OfType<Game>().ToList(); + var movies = items.OfType<Movie>().ToList(); + var musicVideos = items.OfType<MusicVideo>().ToList(); + var adultVideos = items.OfType<AdultVideo>().ToList(); + var boxsets = items.OfType<BoxSet>().ToList(); + var books = items.OfType<Book>().ToList(); + var songs = items.OfType<Audio>().ToList(); + var series = items.OfType<Series>().ToList(); + + + var counts = new ItemCounts { - AlbumCount = items.OfType<MusicAlbum>().Count(), - EpisodeCount = items.OfType<Episode>().Count(), - GameCount = items.OfType<Game>().Count(), + AlbumCount = albums.Count, + EpisodeCount = episodes.Count, + GameCount = games.Count, GameSystemCount = items.OfType<GameSystem>().Count(), - MovieCount = items.OfType<Movie>().Count(), - SeriesCount = items.OfType<Series>().Count(), - SongCount = items.OfType<Audio>().Count(), + MovieCount = movies.Count, + SeriesCount = series.Count, + SongCount = songs.Count, TrailerCount = items.OfType<Trailer>().Count(), - MusicVideoCount = items.OfType<MusicVideo>().Count(), - AdultVideoCount = items.OfType<AdultVideo>().Count(), - BoxSetCount = items.OfType<BoxSet>().Count(), - BookCount = items.OfType<Book>().Count(), + MusicVideoCount = musicVideos.Count, + AdultVideoCount = adultVideos.Count, + BoxSetCount = boxsets.Count, + BookCount = books.Count, UniqueTypes = items.Select(i => i.GetType().Name).Distinct().ToList() }; + if (request.UserId.HasValue) + { + counts.FavoriteAlbumCount = FavoriteCount(albums, request.UserId.Value); + counts.FavoriteEpisodeCount = FavoriteCount(episodes, request.UserId.Value); + counts.FavoriteGameCount = FavoriteCount(games, request.UserId.Value); + counts.FavoriteMovieCount = FavoriteCount(movies, request.UserId.Value); + counts.FavoriteMusicVideoCount = FavoriteCount(musicVideos, request.UserId.Value); + counts.FavoriteAdultVideoCount = FavoriteCount(adultVideos, request.UserId.Value); + counts.FavoriteBoxSetCount = FavoriteCount(boxsets, request.UserId.Value); + counts.FavoriteBookCount = FavoriteCount(books, request.UserId.Value); + counts.FavoriteSongCount = FavoriteCount(songs, request.UserId.Value); + counts.FavoriteSeriesCount = FavoriteCount(series, request.UserId.Value); + } + return ToOptimizedResult(counts); } + private int FavoriteCount(IEnumerable<BaseItem> items, Guid userId) + { + return items.Count(i => _userDataManager.GetUserData(userId, i.GetUserDataKey()).IsFavorite); + } + /// <summary> /// Posts the specified request. /// </summary> diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 55d90d077..94e2f63e6 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -88,24 +88,6 @@ namespace MediaBrowser.Model.Configuration public string MetadataCountryCode { get; set; } /// <summary> - /// Gets or sets the size of the TMDB fetched poster. - /// </summary> - /// <value>The size of the TMDB fetched poster.</value> - public string TmdbFetchedPosterSize { get; set; } - - /// <summary> - /// Gets or sets the size of the TMDB fetched profile. - /// </summary> - /// <value>The size of the TMDB fetched profile.</value> - public string TmdbFetchedProfileSize { get; set; } - - /// <summary> - /// Gets or sets the size of the TMDB fetched backdrop. - /// </summary> - /// <value>The size of the TMDB fetched backdrop.</value> - public string TmdbFetchedBackdropSize { get; set; } - - /// <summary> /// Gets or sets the max backdrops. /// </summary> /// <value>The max backdrops.</value> @@ -274,9 +256,6 @@ namespace MediaBrowser.Model.Configuration MetadataRefreshDays = 30; PreferredMetadataLanguage = "en"; MetadataCountryCode = "US"; - TmdbFetchedProfileSize = "original"; //w185 w45 h632 or original - TmdbFetchedPosterSize = "original"; //w500, w342, w185 or original - TmdbFetchedBackdropSize = "original"; //w1280, w780 or original DownloadMovieImages = new ImageDownloadOptions(); DownloadSeriesImages = new ImageDownloadOptions(); DownloadSeasonImages = new ImageDownloadOptions(); diff --git a/MediaBrowser.Model/Dto/ItemCounts.cs b/MediaBrowser.Model/Dto/ItemCounts.cs index 819a5ff4f..674f7cd20 100644 --- a/MediaBrowser.Model/Dto/ItemCounts.cs +++ b/MediaBrowser.Model/Dto/ItemCounts.cs @@ -70,6 +70,56 @@ namespace MediaBrowser.Model.Dto /// <value>The unique types.</value> public List<string> UniqueTypes { get; set; } + public int FavoriteAdultVideoCount { get; set; } + /// <summary> + /// Gets or sets the movie count. + /// </summary> + /// <value>The movie count.</value> + public int FavoriteMovieCount { get; set; } + /// <summary> + /// Gets or sets the series count. + /// </summary> + /// <value>The series count.</value> + public int FavoriteSeriesCount { get; set; } + /// <summary> + /// Gets or sets the episode count. + /// </summary> + /// <value>The episode count.</value> + public int FavoriteEpisodeCount { get; set; } + /// <summary> + /// Gets or sets the game count. + /// </summary> + /// <value>The game count.</value> + public int FavoriteGameCount { get; set; } + /// <summary> + /// Gets or sets the song count. + /// </summary> + /// <value>The song count.</value> + public int FavoriteSongCount { get; set; } + /// <summary> + /// Gets or sets the album count. + /// </summary> + /// <value>The album count.</value> + public int FavoriteAlbumCount { get; set; } + /// <summary> + /// Gets or sets the music video count. + /// </summary> + /// <value>The music video count.</value> + public int FavoriteMusicVideoCount { get; set; } + /// <summary> + /// Gets or sets the box set count. + /// </summary> + /// <value>The box set count.</value> + public int FavoriteBoxSetCount { get; set; } + /// <summary> + /// Gets or sets the book count. + /// </summary> + /// <value>The book count.</value> + public int FavoriteBookCount { get; set; } + + public int FavoritePersonCount { get; set; } + public int FavoriteArtistCount { get; set; } + public ItemCounts() { UniqueTypes = new List<string>(); diff --git a/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs index cec4089ad..9943c7ab8 100644 --- a/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs +++ b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs @@ -246,8 +246,10 @@ namespace MediaBrowser.Providers image = GetImage(item, args, "show"); } + var isFileSystemItem = item.LocationType == LocationType.FileSystem; + // Support plex/xbmc convention - if (image == null && item is Season && item.IndexNumber.HasValue) + if (image == null && item is Season && item.IndexNumber.HasValue && isFileSystemItem) { var seasonMarker = item.IndexNumber.Value == 0 ? "-specials" @@ -275,7 +277,7 @@ namespace MediaBrowser.Providers } // Look for a file with the same name as the item - if (image == null) + if (image == null && isFileSystemItem) { var name = Path.GetFileNameWithoutExtension(item.Path); @@ -305,7 +307,7 @@ namespace MediaBrowser.Providers if (image == null) { // Supprt xbmc conventions - if (item is Season && item.IndexNumber.HasValue) + if (item is Season && item.IndexNumber.HasValue && item.LocationType == LocationType.FileSystem) { var seasonMarker = item.IndexNumber.Value == 0 ? "-specials" @@ -346,7 +348,7 @@ namespace MediaBrowser.Providers if (image == null) { // Supprt xbmc conventions - if (item is Season && item.IndexNumber.HasValue) + if (item is Season && item.IndexNumber.HasValue && item.LocationType == LocationType.FileSystem) { var seasonMarker = item.IndexNumber.Value == 0 ? "-specials" @@ -391,7 +393,9 @@ namespace MediaBrowser.Providers PopulateBackdrops(item, args, backdropFiles, "background", "background-"); PopulateBackdrops(item, args, backdropFiles, "art", "art-"); - if (item is Season && item.IndexNumber.HasValue) + var isFileSystemItem = item.LocationType == LocationType.FileSystem; + + if (item is Season && item.IndexNumber.HasValue && isFileSystemItem) { var seasonMarker = item.IndexNumber.Value == 0 ? "-specials" @@ -412,7 +416,10 @@ namespace MediaBrowser.Providers } } - PopulateBackdropsFromExtraFanart(args, backdropFiles); + if (isFileSystemItem) + { + PopulateBackdropsFromExtraFanart(args, backdropFiles); + } if (backdropFiles.Count > 0) { diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs index c048715c3..1599de72f 100644 --- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs @@ -207,7 +207,7 @@ namespace MediaBrowser.Providers.Movies { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - var tmdbImageUrl = tmdbSettings.images.base_url + ConfigurationManager.Configuration.TmdbFetchedPosterSize; + var tmdbImageUrl = tmdbSettings.images.base_url + "original"; // get highest rated poster for our language var postersSortedByVote = images.posters.OrderByDescending(i => i.vote_average); @@ -250,7 +250,7 @@ namespace MediaBrowser.Providers.Movies { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - var tmdbImageUrl = tmdbSettings.images.base_url + ConfigurationManager.Configuration.TmdbFetchedBackdropSize; + var tmdbImageUrl = tmdbSettings.images.base_url + "original"; for (var i = 0; i < images.backdrops.Count; i++) { diff --git a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs index 258213ac8..984faa59a 100644 --- a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs +++ b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs @@ -73,9 +73,9 @@ namespace MediaBrowser.Providers.Movies progress.Report(80); - innerProgress = new ActionableProgress<double>(); - innerProgress.RegisterAction(pct => progress.Report(80 + pct * .2)); - await Run(innerProgress, true, cancellationToken).ConfigureAwait(false); + //innerProgress = new ActionableProgress<double>(); + //innerProgress.RegisterAction(pct => progress.Report(80 + pct * .2)); + //await Run(innerProgress, true, cancellationToken).ConfigureAwait(false); progress.Report(100); } diff --git a/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs index fe073c633..3fc32c705 100644 --- a/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs +++ b/MediaBrowser.Providers/Movies/TmdbPersonProvider.cs @@ -360,7 +360,7 @@ namespace MediaBrowser.Providers.Movies { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - await DownloadAndSaveImage(person, tmdbSettings.images.base_url + ConfigurationManager.Configuration.TmdbFetchedProfileSize + profile.file_path, + await DownloadAndSaveImage(person, tmdbSettings.images.base_url + "original" + profile.file_path, MimeTypes.GetMimeType(profile.file_path), cancellationToken).ConfigureAwait(false); } } diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index c12a18cd5..cc84c8b6d 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Common.Internal</id> - <version>3.0.227</version> + <version>3.0.228</version> <title>MediaBrowser.Common.Internal</title> <authors>Luke</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.227" /> + <dependency id="MediaBrowser.Common" version="3.0.228" /> <dependency id="NLog" version="2.1.0" /> <dependency id="ServiceStack.Text" version="3.9.58" /> <dependency id="SimpleInjector" version="2.3.2" /> diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 91059f558..62e857deb 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Common</id> - <version>3.0.227</version> + <version>3.0.228</version> <title>MediaBrowser.Common</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 62ec9f2fb..1e7cb4fbd 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>MediaBrowser.Server.Core</id> - <version>3.0.227</version> + <version>3.0.228</version> <title>Media Browser.Server.Core</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains core components required to build plugins for Media Browser Server.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.227" /> + <dependency id="MediaBrowser.Common" version="3.0.228" /> </dependencies> </metadata> <files> |
