diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-05-07 13:47:41 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-05-07 13:47:41 -0400 |
| commit | 6adc668bed55948b89ee6adcc379cce7253da82c (patch) | |
| tree | fbe7ed9c440f4ef4cc1e4c373232b00dfbe20380 /MediaBrowser.Server.Implementations | |
| parent | d04b39421e54952241f9a3460a87413923cceb3a (diff) | |
update icons
Diffstat (limited to 'MediaBrowser.Server.Implementations')
5 files changed, 48 insertions, 30 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/MusicManager.cs b/MediaBrowser.Server.Implementations/Library/MusicManager.cs index aad7c112b..c82c4cdf7 100644 --- a/MediaBrowser.Server.Implementations/Library/MusicManager.cs +++ b/MediaBrowser.Server.Implementations/Library/MusicManager.cs @@ -55,7 +55,7 @@ namespace MediaBrowser.Server.Implementations.Library public IEnumerable<Audio> GetInstantMixFromFolder(Folder item, User user) { var genres = item - .GetRecursiveChildren(user, i => i is Audio) + .GetRecursiveChildren(user, i => i is Audio) .Cast<Audio>() .SelectMany(i => i.Genres) .Concat(item.Genres) diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 2de458d6e..14acd64e6 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -2334,6 +2334,12 @@ namespace MediaBrowser.Server.Implementations.Persistence var inClause = string.Join(",", query.AncestorIds.Select(i => "'" + new Guid(i).ToString("N") + "'").ToArray()); whereClauses.Add(string.Format("Guid in (select itemId from AncestorIds where AncestorIdText in ({0}))", inClause)); } + if (!string.IsNullOrWhiteSpace(query.AncestorWithPresentationUniqueKey)) + { + var inClause = "select guid from TypedBaseItems where PresentationUniqueKey=@AncestorWithPresentationUniqueKey"; + whereClauses.Add(string.Format("Guid in (select itemId from AncestorIds where AncestorId in ({0}))", inClause)); + cmd.Parameters.Add(cmd, "@AncestorWithPresentationUniqueKey", DbType.String).Value = query.AncestorWithPresentationUniqueKey; + } if (query.BlockUnratedItems.Length == 1) { diff --git a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs index acb1227e4..ea2460719 100644 --- a/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs +++ b/MediaBrowser.Server.Implementations/Photos/BaseDynamicImageProvider.cs @@ -109,6 +109,21 @@ namespace MediaBrowser.Server.Implementations.Photos protected async Task<ItemUpdateType> FetchAsync(IHasImages item, ImageType imageType, MetadataRefreshOptions options, CancellationToken cancellationToken) { + var image = item.GetImageInfo(imageType, 0); + + if (image != null) + { + if (!image.IsLocalFile) + { + return ItemUpdateType.None; + } + + if (!FileSystem.ContainsSubPath(item.GetInternalMetadataPath(), image.Path)) + { + return ItemUpdateType.None; + } + } + var items = await GetItemsWithImages(item).ConfigureAwait(false); return await FetchToFileInternal(item, items, imageType, cancellationToken).ConfigureAwait(false); diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 014e8babf..77843ef6b 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -848,7 +848,7 @@ namespace MediaBrowser.Server.Implementations.Session if (!playbackFailed) { var data = _userDataRepository.GetUserData(userId, item); - + if (positionTicks.HasValue) { playedToCompletion = _userDataRepository.UpdatePlayState(item, data, positionTicks.Value); @@ -1026,11 +1026,11 @@ namespace MediaBrowser.Server.Implementations.Session if (byName != null) { - var itemFilter = byName.GetItemFilter(); - - var items = user == null ? - _libraryManager.RootFolder.GetRecursiveChildren(i => !i.IsFolder && itemFilter(i)) : - user.RootFolder.GetRecursiveChildren(user, i => !i.IsFolder && itemFilter(i)); + var items = byName.GetTaggedItems(new InternalItemsQuery(user) + { + IsFolder = false, + Recursive = true + }); return FilterToSingleMediaType(items) .OrderBy(i => i.SortName); @@ -1040,9 +1040,12 @@ namespace MediaBrowser.Server.Implementations.Session { var folder = (Folder)item; - var items = user == null ? - folder.GetRecursiveChildren(i => !i.IsFolder) : - folder.GetRecursiveChildren(user, i => !i.IsFolder); + var items = folder.GetItems(new InternalItemsQuery(user) + { + Recursive = true, + IsFolder = false + + }).Result.Items; return FilterToSingleMediaType(items) .OrderBy(i => i.SortName); @@ -1367,8 +1370,8 @@ namespace MediaBrowser.Server.Implementations.Session ServerId = _appHost.SystemId }; } - - + + private async Task<string> GetAuthorizationToken(string userId, string deviceId, string app, string appVersion, string deviceName) { var existing = _authRepo.Get(new AuthenticationInfoQuery diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs index d95a4fefb..379e2f056 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs @@ -326,32 +326,26 @@ namespace MediaBrowser.Server.Implementations.Sync var itemByName = item as IItemByName; if (itemByName != null) { - var itemByNameFilter = itemByName.GetItemFilter(); - - return user.RootFolder - .GetRecursiveChildren(user, i => !i.IsFolder && itemByNameFilter(i)); - } - - var series = item as Series; - if (series != null) - { - return series.GetEpisodes(user, false, false); - } - - var season = item as Season; - if (season != null) - { - return season.GetEpisodes(user, false, false); + return itemByName.GetTaggedItems(new InternalItemsQuery(user) + { + IsFolder = false, + Recursive = true + }); } if (item.IsFolder) { var folder = (Folder)item; - var items = folder.GetRecursiveChildren(user, i => !i.IsFolder); + var items = folder.GetItems(new InternalItemsQuery(user) + { + Recursive = true, + IsFolder = false + + }).Result.Items; if (!folder.IsPreSorted) { - items = items.OrderBy(i => i.SortName); + items = items.OrderBy(i => i.SortName).ToArray(); } return items; |
