diff options
| author | stefan <stefan@hegedues.at> | 2018-09-12 19:26:21 +0200 |
|---|---|---|
| committer | stefan <stefan@hegedues.at> | 2018-09-12 19:26:21 +0200 |
| commit | 48facb797ed912e4ea6b04b17d1ff190ac2daac4 (patch) | |
| tree | 8dae77a31670a888d733484cb17dd4077d5444e8 /MediaBrowser.Providers/BoxSets | |
| parent | c32d8656382a0eacb301692e0084377fc433ae9b (diff) | |
Update to 3.5.2 and .net core 2.1
Diffstat (limited to 'MediaBrowser.Providers/BoxSets')
3 files changed, 61 insertions, 27 deletions
diff --git a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs index 2c3dc0e31..78791906a 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs +++ b/MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs @@ -9,27 +9,15 @@ using MediaBrowser.Providers.Manager; using System.Linq; using MediaBrowser.Model.IO; using MediaBrowser.Model.Extensions; +using System.Collections.Generic; namespace MediaBrowser.Providers.BoxSets { public class BoxSetMetadataService : MetadataService<BoxSet, BoxSetInfo> { - protected override ItemUpdateType BeforeSaveInternal(BoxSet item, bool isFullRefresh, ItemUpdateType currentUpdateType) + protected override IList<BaseItem> GetChildrenForMetadataUpdates(BoxSet item) { - var updateType = base.BeforeSaveInternal(item, isFullRefresh, currentUpdateType); - - if (isFullRefresh || currentUpdateType > ItemUpdateType.None) - { - if (!item.LockedFields.Contains(MetadataFields.OfficialRating)) - { - if (item.UpdateRatingToContent()) - { - updateType = updateType | ItemUpdateType.MetadataEdit; - } - } - } - - return updateType; + return item.GetLinkedChildren(); } protected override void MergeData(MetadataResult<BoxSet> source, MetadataResult<BoxSet> target, MetadataFields[] lockedFields, bool replaceData, bool mergeMetadataSettings) @@ -42,12 +30,59 @@ namespace MediaBrowser.Providers.BoxSets if (mergeMetadataSettings) { targetItem.LinkedChildren = sourceItem.LinkedChildren; - targetItem.Shares = sourceItem.Shares; } } + protected override ItemUpdateType BeforeSaveInternal(BoxSet item, bool isFullRefresh, ItemUpdateType currentUpdateType) + { + var updateType = base.BeforeSaveInternal(item, isFullRefresh, currentUpdateType); + + var libraryFolderIds = item.GetLibraryFolderIds(); + + var itemLibraryFolderIds = item.LibraryFolderIds; + if (itemLibraryFolderIds == null || !libraryFolderIds.SequenceEqual(itemLibraryFolderIds)) + { + item.LibraryFolderIds = libraryFolderIds; + updateType |= ItemUpdateType.MetadataImport; + } + + return updateType; + } + public BoxSetMetadataService(IServerConfigurationManager serverConfigurationManager, ILogger logger, IProviderManager providerManager, IFileSystem fileSystem, IUserDataManager userDataManager, ILibraryManager libraryManager) : base(serverConfigurationManager, logger, providerManager, fileSystem, userDataManager, libraryManager) { } + + protected override bool EnableUpdatingGenresFromChildren + { + get + { + return true; + } + } + + protected override bool EnableUpdatingOfficialRatingFromChildren + { + get + { + return true; + } + } + + protected override bool EnableUpdatingStudiosFromChildren + { + get + { + return true; + } + } + + protected override bool EnableUpdatingPremiereDateFromChildren + { + get + { + return true; + } + } } } diff --git a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs index 7d1f2779b..729897290 100644 --- a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs +++ b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs @@ -33,12 +33,12 @@ namespace MediaBrowser.Providers.BoxSets get { return "TheMovieDb"; } } - public bool Supports(IHasMetadata item) + public bool Supports(BaseItem item) { return item is BoxSet; } - public IEnumerable<ImageType> GetSupportedImages(IHasMetadata item) + public IEnumerable<ImageType> GetSupportedImages(BaseItem item) { return new List<ImageType> { @@ -47,7 +47,7 @@ namespace MediaBrowser.Providers.BoxSets }; } - public async Task<IEnumerable<RemoteImageInfo>> GetImages(IHasMetadata item, CancellationToken cancellationToken) + public async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken) { var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); @@ -61,7 +61,7 @@ namespace MediaBrowser.Providers.BoxSets { var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - var tmdbImageUrl = tmdbSettings.images.secure_base_url + "original"; + var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); return GetImages(mainResult, language, tmdbImageUrl); } diff --git a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs index 17b0646ed..634329177 100644 --- a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs +++ b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs @@ -25,7 +25,7 @@ namespace MediaBrowser.Providers.BoxSets { public class MovieDbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo> { - private const string GetCollectionInfo3 = @"https://api.themoviedb.org/3/collection/{0}?api_key={1}&append_to_response=images"; + private const string GetCollectionInfo3 = MovieDbProvider.BaseMovieDbUrl + @"3/collection/{0}?api_key={1}&append_to_response=images"; internal static MovieDbBoxSetProvider Current; @@ -66,7 +66,7 @@ namespace MediaBrowser.Providers.BoxSets var tmdbSettings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); - var tmdbImageUrl = tmdbSettings.images.secure_base_url + "original"; + var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); var result = new RemoteSearchResult { @@ -189,7 +189,7 @@ namespace MediaBrowser.Providers.BoxSets { using (var json = response.Content) { - mainResult = _json.DeserializeFromStream<RootObject>(json); + mainResult = await _json.DeserializeFromStreamAsync<RootObject>(json).ConfigureAwait(false); } } @@ -217,7 +217,7 @@ namespace MediaBrowser.Providers.BoxSets { using (var json = response.Content) { - mainResult = _json.DeserializeFromStream<RootObject>(json); + mainResult = await _json.DeserializeFromStreamAsync<RootObject>(json).ConfigureAwait(false); } } } @@ -225,7 +225,6 @@ namespace MediaBrowser.Providers.BoxSets return mainResult; } - private readonly Task _cachedTask = Task.FromResult(true); internal Task EnsureInfo(string tmdbId, string preferredMetadataLanguage, CancellationToken cancellationToken) { var path = GetDataFilePath(_config.ApplicationPaths, tmdbId, preferredMetadataLanguage); @@ -235,9 +234,9 @@ namespace MediaBrowser.Providers.BoxSets if (fileInfo.Exists) { // If it's recent or automatic updates are enabled, don't re-download - if ((DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 3) + if ((DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 2) { - return _cachedTask; + return Task.CompletedTask; } } |
