mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-15 23:58:57 +00:00
Backport pull request #15472 from jellyfin/release-10.11.z
Fix series DateLastMediaAdded not updating when new episodes are added
Original-merge: abfbaca336
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
This commit is contained in:
@@ -317,12 +317,8 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
{
|
{
|
||||||
if (EnableUpdateMetadataFromChildren(item, isFullRefresh, updateType))
|
if (EnableUpdateMetadataFromChildren(item, isFullRefresh, updateType))
|
||||||
{
|
{
|
||||||
if (isFullRefresh || updateType > ItemUpdateType.None)
|
var children = GetChildrenForMetadataUpdates(item);
|
||||||
{
|
updateType = UpdateMetadataFromChildren(item, children, isFullRefresh, updateType);
|
||||||
var children = GetChildrenForMetadataUpdates(item);
|
|
||||||
|
|
||||||
updateType = UpdateMetadataFromChildren(item, children, isFullRefresh, updateType);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var presentationUniqueKey = item.CreatePresentationUniqueKey();
|
var presentationUniqueKey = item.CreatePresentationUniqueKey();
|
||||||
@@ -362,16 +358,24 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
|
|
||||||
protected virtual bool EnableUpdateMetadataFromChildren(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType)
|
protected virtual bool EnableUpdateMetadataFromChildren(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType)
|
||||||
{
|
{
|
||||||
if (isFullRefresh || currentUpdateType > ItemUpdateType.None)
|
if (item is Folder folder)
|
||||||
{
|
{
|
||||||
if (EnableUpdatingPremiereDateFromChildren || EnableUpdatingGenresFromChildren || EnableUpdatingStudiosFromChildren || EnableUpdatingOfficialRatingFromChildren)
|
if (!isFullRefresh && currentUpdateType == ItemUpdateType.None)
|
||||||
{
|
{
|
||||||
return true;
|
return folder.SupportsDateLastMediaAdded;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item is Folder folder)
|
if (isFullRefresh || currentUpdateType > ItemUpdateType.None)
|
||||||
{
|
{
|
||||||
return folder.SupportsDateLastMediaAdded || folder.SupportsCumulativeRunTimeTicks;
|
if (EnableUpdatingPremiereDateFromChildren || EnableUpdatingGenresFromChildren || EnableUpdatingStudiosFromChildren || EnableUpdatingOfficialRatingFromChildren)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (folder.SupportsDateLastMediaAdded || folder.SupportsCumulativeRunTimeTicks)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,36 +396,42 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
{
|
{
|
||||||
var updateType = ItemUpdateType.None;
|
var updateType = ItemUpdateType.None;
|
||||||
|
|
||||||
if (isFullRefresh || currentUpdateType > ItemUpdateType.None)
|
if (item is Folder folder)
|
||||||
{
|
{
|
||||||
updateType |= UpdateCumulativeRunTimeTicks(item, children);
|
if (folder.SupportsDateLastMediaAdded)
|
||||||
updateType |= UpdateDateLastMediaAdded(item, children);
|
|
||||||
|
|
||||||
// don't update user-changeable metadata for locked items
|
|
||||||
if (item.IsLocked)
|
|
||||||
{
|
{
|
||||||
return updateType;
|
updateType |= UpdateDateLastMediaAdded(item, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EnableUpdatingPremiereDateFromChildren)
|
if ((isFullRefresh || currentUpdateType > ItemUpdateType.None) && folder.SupportsCumulativeRunTimeTicks)
|
||||||
{
|
{
|
||||||
updateType |= UpdatePremiereDate(item, children);
|
updateType |= UpdateCumulativeRunTimeTicks(item, children);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (EnableUpdatingGenresFromChildren)
|
if (!(isFullRefresh || currentUpdateType > ItemUpdateType.None) || item.IsLocked)
|
||||||
{
|
{
|
||||||
updateType |= UpdateGenres(item, children);
|
return updateType;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EnableUpdatingStudiosFromChildren)
|
if (EnableUpdatingPremiereDateFromChildren)
|
||||||
{
|
{
|
||||||
updateType |= UpdateStudios(item, children);
|
updateType |= UpdatePremiereDate(item, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EnableUpdatingOfficialRatingFromChildren)
|
if (EnableUpdatingGenresFromChildren)
|
||||||
{
|
{
|
||||||
updateType |= UpdateOfficialRating(item, children);
|
updateType |= UpdateGenres(item, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (EnableUpdatingStudiosFromChildren)
|
||||||
|
{
|
||||||
|
updateType |= UpdateStudios(item, children);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (EnableUpdatingOfficialRatingFromChildren)
|
||||||
|
{
|
||||||
|
updateType |= UpdateOfficialRating(item, children);
|
||||||
}
|
}
|
||||||
|
|
||||||
return updateType;
|
return updateType;
|
||||||
|
|||||||
Reference in New Issue
Block a user