mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-24 22:48:56 +02:00
keep season/episode info up to date
This commit is contained in:
parent
eb78381a35
commit
2fed4c1ab8
|
@ -1,4 +1,5 @@
|
||||||
using MediaBrowser.Controller.Configuration;
|
using System;
|
||||||
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Entities.TV;
|
using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
|
@ -6,12 +7,42 @@ using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Providers.Manager;
|
using MediaBrowser.Providers.Manager;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using CommonIO;
|
using CommonIO;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV
|
namespace MediaBrowser.Providers.TV
|
||||||
{
|
{
|
||||||
public class EpisodeMetadataService : MetadataService<Episode, EpisodeInfo>
|
public class EpisodeMetadataService : MetadataService<Episode, EpisodeInfo>
|
||||||
{
|
{
|
||||||
|
protected override async Task<ItemUpdateType> BeforeSave(Episode item, bool isFullRefresh, ItemUpdateType currentUpdateType)
|
||||||
|
{
|
||||||
|
var updateType = await base.BeforeSave(item, isFullRefresh, currentUpdateType).ConfigureAwait(false);
|
||||||
|
|
||||||
|
if (updateType <= ItemUpdateType.None)
|
||||||
|
{
|
||||||
|
if (!string.Equals(item.SeriesName, item.FindSeriesName(), StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
updateType |= ItemUpdateType.MetadataImport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (updateType <= ItemUpdateType.None)
|
||||||
|
{
|
||||||
|
if (!string.Equals(item.SeriesSortName, item.FindSeriesSortName(), StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
updateType |= ItemUpdateType.MetadataImport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (updateType <= ItemUpdateType.None)
|
||||||
|
{
|
||||||
|
if (!string.Equals(item.SeasonName, item.FindSeasonName(), StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
updateType |= ItemUpdateType.MetadataImport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return updateType;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void MergeData(MetadataResult<Episode> source, MetadataResult<Episode> target, List<MetadataFields> lockedFields, bool replaceData, bool mergeMetadataSettings)
|
protected override void MergeData(MetadataResult<Episode> source, MetadataResult<Episode> target, List<MetadataFields> lockedFields, bool replaceData, bool mergeMetadataSettings)
|
||||||
{
|
{
|
||||||
ProviderUtils.MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings);
|
ProviderUtils.MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings);
|
||||||
|
|
|
@ -35,6 +35,21 @@ namespace MediaBrowser.Providers.TV
|
||||||
updateType |= SaveIsVirtualItem(item, episodes);
|
updateType |= SaveIsVirtualItem(item, episodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (updateType <= ItemUpdateType.None)
|
||||||
|
{
|
||||||
|
if (!string.Equals(item.SeriesName, item.FindSeriesName(), StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
updateType |= ItemUpdateType.MetadataImport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (updateType <= ItemUpdateType.None)
|
||||||
|
{
|
||||||
|
if (!string.Equals(item.SeriesSortName, item.FindSeriesSortName(), StringComparison.Ordinal))
|
||||||
|
{
|
||||||
|
updateType |= ItemUpdateType.MetadataImport;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return updateType;
|
return updateType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue