mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-10 16:23:06 +01:00
support multiple user data keys
This commit is contained in:
@@ -98,20 +98,26 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the user data key.
|
||||
/// </summary>
|
||||
/// <returns>System.String.</returns>
|
||||
protected override string CreateUserDataKey()
|
||||
[IgnoreDataMember]
|
||||
protected override bool EnableDefaultVideoUserDataKeys
|
||||
{
|
||||
var series = Series;
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override List<string> GetUserDataKeys()
|
||||
{
|
||||
var list = base.GetUserDataKeys();
|
||||
|
||||
var series = Series;
|
||||
if (series != null && ParentIndexNumber.HasValue && IndexNumber.HasValue)
|
||||
{
|
||||
return series.GetUserDataKey() + ParentIndexNumber.Value.ToString("000") + IndexNumber.Value.ToString("000");
|
||||
list.InsertRange(0, series.GetUserDataKeys().Select(i => i + ParentIndexNumber.Value.ToString("000") + IndexNumber.Value.ToString("000")));
|
||||
}
|
||||
|
||||
return base.CreateUserDataKey();
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -53,19 +53,17 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the user data key.
|
||||
/// </summary>
|
||||
/// <returns>System.String.</returns>
|
||||
protected override string CreateUserDataKey()
|
||||
public override List<string> GetUserDataKeys()
|
||||
{
|
||||
if (Series != null)
|
||||
var list = base.GetUserDataKeys();
|
||||
|
||||
var series = Series;
|
||||
if (series != null)
|
||||
{
|
||||
var seasonNo = IndexNumber ?? 0;
|
||||
return Series.GetUserDataKey() + seasonNo.ToString("000");
|
||||
list.InsertRange(0, series.GetUserDataKeys().Select(i => i + (IndexNumber ?? 0).ToString("000")));
|
||||
}
|
||||
|
||||
return base.CreateUserDataKey();
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -95,21 +95,23 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
/// Gets the user data key.
|
||||
/// </summary>
|
||||
/// <returns>System.String.</returns>
|
||||
protected override string CreateUserDataKey()
|
||||
public override List<string> GetUserDataKeys()
|
||||
{
|
||||
var key = this.GetProviderId(MetadataProviders.Tvdb);
|
||||
var list = base.GetUserDataKeys();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(key))
|
||||
var key = this.GetProviderId(MetadataProviders.Imdb);
|
||||
if (!string.IsNullOrWhiteSpace(key))
|
||||
{
|
||||
key = this.GetProviderId(MetadataProviders.Imdb);
|
||||
list.Insert(0, key);
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(key))
|
||||
key = this.GetProviderId(MetadataProviders.Tvdb);
|
||||
if (!string.IsNullOrWhiteSpace(key))
|
||||
{
|
||||
key = base.CreateUserDataKey();
|
||||
list.Insert(0, key);
|
||||
}
|
||||
|
||||
return key;
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -126,8 +128,8 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
// Studio, Genre and Rating will all be the same so makes no sense to index by these
|
||||
protected override IEnumerable<string> GetIndexByOptions()
|
||||
{
|
||||
return new List<string> {
|
||||
{"None"},
|
||||
return new List<string> {
|
||||
{"None"},
|
||||
{"Performer"},
|
||||
{"Director"},
|
||||
{"Year"},
|
||||
@@ -280,9 +282,9 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
if (episode != null
|
||||
&& refreshOptions.MetadataRefreshMode != MetadataRefreshMode.FullRefresh
|
||||
&& !refreshOptions.ReplaceAllMetadata
|
||||
&& episode.IsMissingEpisode
|
||||
&& episode.LocationType == Model.Entities.LocationType.Virtual
|
||||
&& episode.PremiereDate.HasValue
|
||||
&& episode.IsMissingEpisode
|
||||
&& episode.LocationType == Model.Entities.LocationType.Virtual
|
||||
&& episode.PremiereDate.HasValue
|
||||
&& (DateTime.UtcNow - episode.PremiereDate.Value).TotalDays > 30)
|
||||
{
|
||||
skipItem = true;
|
||||
|
||||
Reference in New Issue
Block a user