aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/BoxSets
diff options
context:
space:
mode:
authorstefan <stefan@hegedues.at>2018-09-12 19:26:21 +0200
committerstefan <stefan@hegedues.at>2018-09-12 19:26:21 +0200
commit48facb797ed912e4ea6b04b17d1ff190ac2daac4 (patch)
tree8dae77a31670a888d733484cb17dd4077d5444e8 /MediaBrowser.Providers/BoxSets
parentc32d8656382a0eacb301692e0084377fc433ae9b (diff)
Update to 3.5.2 and .net core 2.1
Diffstat (limited to 'MediaBrowser.Providers/BoxSets')
-rw-r--r--MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs67
-rw-r--r--MediaBrowser.Providers/BoxSets/MovieDbBoxSetImageProvider.cs8
-rw-r--r--MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs13
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;
}
}