diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-06-19 02:21:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-19 02:21:51 -0400 |
| commit | 963450f17a1d0c6487f55c0b78779c3070f5a594 (patch) | |
| tree | be5750566a0ee766404a2e22769d1a270697b29e /MediaBrowser.Controller | |
| parent | 0edd4e71fb54b808ab7a6d87cfd10010f1db0120 (diff) | |
| parent | 759f5a856064450acdb4c26839d6d890afb99a17 (diff) | |
Merge pull request #1860 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Dto/IDtoService.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/IHasUserData.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Controller/IServerApplicationHost.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Library/IUserDataManager.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Net/IHttpResultFactory.cs | 8 |
7 files changed, 36 insertions, 15 deletions
diff --git a/MediaBrowser.Controller/Dto/IDtoService.cs b/MediaBrowser.Controller/Dto/IDtoService.cs index 5f0442f934..e4aa466dfd 100644 --- a/MediaBrowser.Controller/Dto/IDtoService.cs +++ b/MediaBrowser.Controller/Dto/IDtoService.cs @@ -3,6 +3,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Querying; using System.Collections.Generic; +using System.Threading.Tasks; namespace MediaBrowser.Controller.Dto { @@ -68,7 +69,7 @@ namespace MediaBrowser.Controller.Dto /// <param name="user">The user.</param> /// <param name="owner">The owner.</param> /// <returns>IEnumerable<BaseItemDto>.</returns> - IEnumerable<BaseItemDto> GetBaseItemDtos(IEnumerable<BaseItem> items, DtoOptions options, User user = null, + Task<List<BaseItemDto>> GetBaseItemDtos(IEnumerable<BaseItem> items, DtoOptions options, User user = null, BaseItem owner = null); /// <summary> diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index ed838ab31b..707ab0c245 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -2093,7 +2093,7 @@ namespace MediaBrowser.Controller.Entities return path; } - public virtual void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, User user) + public virtual Task FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, BaseItemDto itemDto, User user) { if (RunTimeTicks.HasValue) { @@ -2109,6 +2109,8 @@ namespace MediaBrowser.Controller.Entities } } } + + return Task.FromResult(true); } protected Task RefreshMetadataForOwnedVideo(MetadataRefreshOptions options, string path, CancellationToken cancellationToken) diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 91ca1f0097..f12c51ff34 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -13,6 +13,7 @@ using System.Runtime.Serialization; using System.Threading; using System.Threading.Tasks; using CommonIO; +using MediaBrowser.Controller.Channels; using MediaBrowser.Model.Channels; namespace MediaBrowser.Controller.Entities @@ -1422,19 +1423,27 @@ namespace MediaBrowser.Controller.Entities { return false; } + if (this is Channel) + { + return false; + } + if (SourceType != SourceType.Library) + { + return false; + } return true; } } - public override void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, User user) + public override async Task FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, BaseItemDto itemDto, User user) { if (!SupportsUserDataFromChildren) { return; } - var unplayedQueryResult = GetItems(new InternalItemsQuery(user) + var unplayedQueryResult = await GetItems(new InternalItemsQuery(user) { Recursive = true, IsFolder = false, @@ -1443,9 +1452,9 @@ namespace MediaBrowser.Controller.Entities Limit = 0, IsPlayed = false - }).Result; + }).ConfigureAwait(false); - var allItemsQueryResult = GetItems(new InternalItemsQuery(user) + var allItemsQueryResult = await GetItems(new InternalItemsQuery(user) { Recursive = true, IsFolder = false, @@ -1453,7 +1462,12 @@ namespace MediaBrowser.Controller.Entities EnableTotalRecordCount = true, Limit = 0 - }).Result; + }).ConfigureAwait(false); + + if (itemDto != null) + { + itemDto.RecursiveItemCount = allItemsQueryResult.TotalRecordCount; + } double recursiveItemCount = allItemsQueryResult.TotalRecordCount; double unplayedCount = unplayedQueryResult.TotalRecordCount; diff --git a/MediaBrowser.Controller/Entities/IHasUserData.cs b/MediaBrowser.Controller/Entities/IHasUserData.cs index 244b319bd6..2495b0ccd9 100644 --- a/MediaBrowser.Controller/Entities/IHasUserData.cs +++ b/MediaBrowser.Controller/Entities/IHasUserData.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using MediaBrowser.Model.Dto; namespace MediaBrowser.Controller.Entities @@ -16,7 +17,7 @@ namespace MediaBrowser.Controller.Entities /// <param name="dto">The dto.</param> /// <param name="userData">The user data.</param> /// <param name="user">The user.</param> - void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, User user); + Task FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, BaseItemDto itemDto, User user); bool EnableRememberingTrackSelections { get; } } diff --git a/MediaBrowser.Controller/IServerApplicationHost.cs b/MediaBrowser.Controller/IServerApplicationHost.cs index 65eed1a235..78b7d2ccd4 100644 --- a/MediaBrowser.Controller/IServerApplicationHost.cs +++ b/MediaBrowser.Controller/IServerApplicationHost.cs @@ -3,6 +3,7 @@ using MediaBrowser.Model.System; using System; using System.Collections.Generic; using System.Net; +using System.Threading.Tasks; namespace MediaBrowser.Controller { @@ -65,13 +66,13 @@ namespace MediaBrowser.Controller /// Gets the local ip address. /// </summary> /// <value>The local ip address.</value> - List<IPAddress> LocalIpAddresses { get; } + Task<List<IPAddress>> GetLocalIpAddresses(); /// <summary> /// Gets the local API URL. /// </summary> /// <value>The local API URL.</value> - string LocalApiUrl { get; } + Task<string> GetLocalApiUrl(); /// <summary> /// Gets the local API URL. diff --git a/MediaBrowser.Controller/Library/IUserDataManager.cs b/MediaBrowser.Controller/Library/IUserDataManager.cs index e2358650be..86c52c4c31 100644 --- a/MediaBrowser.Controller/Library/IUserDataManager.cs +++ b/MediaBrowser.Controller/Library/IUserDataManager.cs @@ -40,7 +40,9 @@ namespace MediaBrowser.Controller.Library /// <param name="item">The item.</param> /// <param name="user">The user.</param> /// <returns>UserItemDataDto.</returns> - UserItemDataDto GetUserDataDto(IHasUserData item, User user); + Task<UserItemDataDto> GetUserDataDto(IHasUserData item, User user); + + Task<UserItemDataDto> GetUserDataDto(IHasUserData item, BaseItemDto itemDto, User user); /// <summary> /// Get all user data for the given user diff --git a/MediaBrowser.Controller/Net/IHttpResultFactory.cs b/MediaBrowser.Controller/Net/IHttpResultFactory.cs index 526bf4be2e..cd7ee603e3 100644 --- a/MediaBrowser.Controller/Net/IHttpResultFactory.cs +++ b/MediaBrowser.Controller/Net/IHttpResultFactory.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Controller.Net /// <param name="responseHeaders">The response headers.</param> /// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param> /// <returns>System.Object.</returns> - object GetStaticResult(IRequest requestContext, + Task<object> GetStaticResult(IRequest requestContext, Guid cacheKey, DateTime? lastDateModified, TimeSpan? cacheDuration, @@ -94,7 +94,7 @@ namespace MediaBrowser.Controller.Net /// <param name="requestContext">The request context.</param> /// <param name="options">The options.</param> /// <returns>System.Object.</returns> - object GetStaticResult(IRequest requestContext, StaticResultOptions options); + Task<object> GetStaticResult(IRequest requestContext, StaticResultOptions options); /// <summary> /// Gets the static file result. @@ -103,7 +103,7 @@ namespace MediaBrowser.Controller.Net /// <param name="path">The path.</param> /// <param name="fileShare">The file share.</param> /// <returns>System.Object.</returns> - object GetStaticFileResult(IRequest requestContext, string path, FileShare fileShare = FileShare.Read); + Task<object> GetStaticFileResult(IRequest requestContext, string path, FileShare fileShare = FileShare.Read); /// <summary> /// Gets the static file result. @@ -111,7 +111,7 @@ namespace MediaBrowser.Controller.Net /// <param name="requestContext">The request context.</param> /// <param name="options">The options.</param> /// <returns>System.Object.</returns> - object GetStaticFileResult(IRequest requestContext, + Task<object> GetStaticFileResult(IRequest requestContext, StaticFileResultOptions options); } } |
