diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-06-27 11:38:34 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-06-27 11:38:34 -0400 |
| commit | e49112c3dbf8e4979c84eb67fe50fbc4eec99837 (patch) | |
| tree | 6157312ca6a53854191af10616c0ef911c77fb47 | |
| parent | 021f10f6d9e1bedcaeeca0649b68f4fbe730d504 (diff) | |
| parent | a6cbba1fd0727cece24f087a573813dfd241ea44 (diff) | |
Merge pull request #1883 from MediaBrowser/dev
Dev
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 43 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Manager/ImageSaver.cs | 14 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Dto/DtoService.cs | 10 |
3 files changed, 59 insertions, 8 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 7dd5920b7..a6f1d8b98 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -52,6 +52,23 @@ namespace MediaBrowser.Api.UserLibrary /// <param name="dtoService">The dto service.</param> public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILocalizationManager localization, IDtoService dtoService) { + if (userManager == null) + { + throw new ArgumentNullException("userManager"); + } + if (libraryManager == null) + { + throw new ArgumentNullException("libraryManager"); + } + if (localization == null) + { + throw new ArgumentNullException("localization"); + } + if (dtoService == null) + { + throw new ArgumentNullException("dtoService"); + } + _userManager = userManager; _libraryManager = libraryManager; _localization = localization; @@ -65,6 +82,11 @@ namespace MediaBrowser.Api.UserLibrary /// <returns>System.Object.</returns> public async Task<object> Get(GetItems request) { + if (request == null) + { + throw new ArgumentNullException("request"); + } + var result = await GetItems(request).ConfigureAwait(false); return ToOptimizedSerializedResultUsingCache(result); @@ -78,15 +100,32 @@ namespace MediaBrowser.Api.UserLibrary private async Task<ItemsResult> GetItems(GetItems request) { var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null; - + var result = await GetItemsToSerialize(request, user).ConfigureAwait(false); + if (result == null) + { + throw new InvalidOperationException("GetItemsToSerialize returned null"); + } + + if (result.Items == null) + { + throw new InvalidOperationException("GetItemsToSerialize result.Items returned null"); + } + var dtoOptions = GetDtoOptions(request); + var dtoList = await _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ConfigureAwait(false); + + if (dtoList == null) + { + throw new InvalidOperationException("GetBaseItemDtos returned null"); + } + return new ItemsResult { TotalRecordCount = result.TotalRecordCount, - Items = (await _dtoService.GetBaseItemDtos(result.Items, dtoOptions, user).ConfigureAwait(false)).ToArray() + Items = dtoList.ToArray() }; } diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs index bd1961143..327c14207 100644 --- a/MediaBrowser.Providers/Manager/ImageSaver.cs +++ b/MediaBrowser.Providers/Manager/ImageSaver.cs @@ -161,6 +161,8 @@ namespace MediaBrowser.Providers.Manager { var currentPath = currentImage.Path; + _logger.Debug("Deleting previous image {0}", currentPath); + _libraryMonitor.ReportFileSystemChangeBeginning(currentPath); try @@ -276,7 +278,7 @@ namespace MediaBrowser.Providers.Manager /// <returns>IEnumerable{System.String}.</returns> private string[] GetSavePaths(IHasImages item, ImageType type, int? imageIndex, string mimeType, bool saveLocally) { - if (_config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy || !saveLocally) + if (!saveLocally) { return new[] { GetStandardSavePath(item, type, imageIndex, mimeType, saveLocally) }; } @@ -375,11 +377,11 @@ namespace MediaBrowser.Providers.Manager } string filename; - var folderName = item is MusicAlbum || - item is MusicArtist || - item is PhotoAlbum || - (saveLocally && _config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy) ? - "folder" : + var folderName = item is MusicAlbum || + item is MusicArtist || + item is PhotoAlbum || + (saveLocally && _config.Configuration.ImageSavingConvention == ImageSavingConvention.Legacy) ? + "folder" : "poster"; switch (type) diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index f21dd27ff..8805d567a 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -88,6 +88,16 @@ namespace MediaBrowser.Server.Implementations.Dto public async Task<List<BaseItemDto>> GetBaseItemDtos(IEnumerable<BaseItem> items, DtoOptions options, User user = null, BaseItem owner = null) { + if (items == null) + { + throw new ArgumentNullException("items"); + } + + if (options == null) + { + throw new ArgumentNullException("options"); + } + var syncJobItems = GetSyncedItemProgress(options); var syncDictionary = GetSyncedItemProgressDictionary(syncJobItems); |
