mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-19 12:44:19 +01:00
update caching headers
This commit is contained in:
@@ -78,16 +78,15 @@ namespace MediaBrowser.Providers.Manager
|
||||
|
||||
bool hasRefreshedMetadata = true;
|
||||
bool hasRefreshedImages = true;
|
||||
var isFirstRefresh = item.DateLastRefreshed == default(DateTime);
|
||||
|
||||
// Next run metadata providers
|
||||
if (refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None)
|
||||
{
|
||||
var providers = GetProviders(item, refreshOptions, requiresRefresh)
|
||||
var providers = GetProviders(item, refreshOptions, isFirstRefresh, requiresRefresh)
|
||||
.ToList();
|
||||
|
||||
var dateLastRefresh = item.DateLastRefreshed;
|
||||
|
||||
if (providers.Count > 0 || dateLastRefresh == default(DateTime))
|
||||
if (providers.Count > 0 || isFirstRefresh)
|
||||
{
|
||||
if (item.BeforeMetadataRefresh())
|
||||
{
|
||||
@@ -110,11 +109,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
var result = await RefreshWithProviders(metadataResult, id, refreshOptions, providers, itemImageProvider, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
updateType = updateType | result.UpdateType;
|
||||
if (result.Failures == 0)
|
||||
{
|
||||
hasRefreshedMetadata = true;
|
||||
}
|
||||
else
|
||||
if (result.Failures > 0)
|
||||
{
|
||||
hasRefreshedMetadata = false;
|
||||
}
|
||||
@@ -138,19 +133,13 @@ namespace MediaBrowser.Providers.Manager
|
||||
var result = await itemImageProvider.RefreshImages(itemOfType, libraryOptions, providers, refreshOptions, config, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
updateType = updateType | result.UpdateType;
|
||||
if (result.Failures == 0)
|
||||
{
|
||||
hasRefreshedImages = true;
|
||||
}
|
||||
else
|
||||
if (result.Failures > 0)
|
||||
{
|
||||
hasRefreshedImages = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var isFirstRefresh = item.DateLastRefreshed == default(DateTime);
|
||||
|
||||
var beforeSaveResult = await BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh, updateType).ConfigureAwait(false);
|
||||
updateType = updateType | beforeSaveResult;
|
||||
|
||||
@@ -373,15 +362,18 @@ namespace MediaBrowser.Providers.Manager
|
||||
/// Gets the providers.
|
||||
/// </summary>
|
||||
/// <returns>IEnumerable{`0}.</returns>
|
||||
protected IEnumerable<IMetadataProvider> GetProviders(IHasMetadata item, MetadataRefreshOptions options, bool requiresRefresh)
|
||||
protected IEnumerable<IMetadataProvider> GetProviders(IHasMetadata item, MetadataRefreshOptions options, bool isFirstRefresh, bool requiresRefresh)
|
||||
{
|
||||
// Get providers to refresh
|
||||
var providers = ((ProviderManager)ProviderManager).GetMetadataProviders<TItemType>(item).ToList();
|
||||
|
||||
var dateLastRefresh = item.DateLastRefreshed;
|
||||
var metadataRefreshMode = options.MetadataRefreshMode;
|
||||
|
||||
// Run all if either of these flags are true
|
||||
var runAllProviders = options.ReplaceAllMetadata || options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || dateLastRefresh == default(DateTime) || requiresRefresh;
|
||||
var runAllProviders = options.ReplaceAllMetadata ||
|
||||
metadataRefreshMode == MetadataRefreshMode.FullRefresh ||
|
||||
(isFirstRefresh && metadataRefreshMode >= MetadataRefreshMode.Default) ||
|
||||
(requiresRefresh && metadataRefreshMode >= MetadataRefreshMode.Default);
|
||||
|
||||
if (!runAllProviders)
|
||||
{
|
||||
@@ -404,6 +396,9 @@ namespace MediaBrowser.Providers.Manager
|
||||
}
|
||||
else
|
||||
{
|
||||
var anyRemoteProvidersChanged = providersWithChanges.OfType<IRemoteMetadataProvider>()
|
||||
.Any();
|
||||
|
||||
providers = providers.Where(i =>
|
||||
{
|
||||
// If any provider reports a change, always run local ones as well
|
||||
@@ -412,9 +407,6 @@ namespace MediaBrowser.Providers.Manager
|
||||
return true;
|
||||
}
|
||||
|
||||
var anyRemoteProvidersChanged = providersWithChanges.OfType<IRemoteMetadataProvider>()
|
||||
.Any();
|
||||
|
||||
// If any remote providers changed, run them all so that priorities can be honored
|
||||
if (i is IRemoteMetadataProvider)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user