Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump actions/upload-artifact from 2 to 3 #99

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # tag=v3
with:
name: openapi-head
retention-days: 14
Expand All @@ -47,7 +47,7 @@ jobs:
- name: Generate openapi.json
run: dotnet test tests/Jellyfin.Server.Integration.Tests/Jellyfin.Server.Integration.Tests.csproj -c Release --filter "Jellyfin.Server.Integration.Tests.OpenApiSpecTests"
- name: Upload openapi.json
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb # tag=v3
with:
name: openapi-base
retention-days: 14
Expand Down
5 changes: 3 additions & 2 deletions MediaBrowser.Providers/Books/AudioBookMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ protected override void MergeData(
MetadataResult<AudioBook> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings)
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/Books/BookMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,15 @@ public BookMetadataService(
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Book> source, MetadataResult<Book> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Book> source,
MetadataResult<Book> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

if (replaceData || string.IsNullOrEmpty(target.Item.SeriesName))
{
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/BoxSets/BoxSetMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,15 @@ protected override IList<BaseItem> GetChildrenForMetadataUpdates(BoxSet item)
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<BoxSet> source, MetadataResult<BoxSet> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<BoxSet> source,
MetadataResult<BoxSet> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
86 changes: 70 additions & 16 deletions MediaBrowser.Providers/Manager/MetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ protected virtual async Task<RefreshResult> RefreshWithProviders(
refreshResult.UpdateType |= ItemUpdateType.ImageUpdate;
}

MergeData(localItem, temp, Array.Empty<MetadataField>(), !options.ReplaceAllMetadata, true);
MergeData(localItem, temp, Array.Empty<MetadataField>(), !options.ReplaceAllMetadata, true, id.MetadataLanguage);
refreshResult.UpdateType |= ItemUpdateType.MetadataImport;

// Only one local provider allowed per item
Expand Down Expand Up @@ -748,16 +748,16 @@ protected virtual async Task<RefreshResult> RefreshWithProviders(
{
if (hasLocalMetadata)
{
MergeData(temp, metadata, item.LockedFields, true, true);
MergeData(temp, metadata, item.LockedFields, true, true, id.MetadataLanguage);
}
else
{
if (!options.RemoveOldMetadata)
{
MergeData(metadata, temp, Array.Empty<MetadataField>(), false, false);
MergeData(metadata, temp, Array.Empty<MetadataField>(), false, false, id.MetadataLanguage);
}

MergeData(temp, metadata, item.LockedFields, true, false);
MergeData(temp, metadata, item.LockedFields, true, false, id.MetadataLanguage);
}
}
}
Expand Down Expand Up @@ -829,7 +829,7 @@ private async Task<RefreshResult> ExecuteRemoteProviders(MetadataResult<TItemTyp
{
result.Provider = provider.Name;

MergeData(result, temp, Array.Empty<MetadataField>(), false, false);
MergeData(result, temp, Array.Empty<MetadataField>(), false, false, id.MetadataLanguage);
MergeNewData(temp.Item, id);

refreshResult.UpdateType |= ItemUpdateType.MetadataDownload;
Expand Down Expand Up @@ -897,26 +897,30 @@ private bool HasChanged(BaseItem item, IHasItemChangeMonitor changeMonitor, IDir
/// <param name="lockedFields">The fields that are locked and should not be updated.</param>
/// <param name="replaceData"><c>true</c> if existing data should be replaced.</param>
/// <param name="mergeMetadataSettings"><c>true</c> if the metadata settings in target should be updated to match source.</param>
/// <param name="requestedLanguage">?????.</param>
/// <exception cref="ArgumentException">Thrown if source or target are null.</exception>
protected virtual void MergeData(
MetadataResult<TItemType> source,
MetadataResult<TItemType> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings)
bool mergeMetadataSettings,
string requestedLanguage)
{
MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings);
MergeBaseItemData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);
}

internal static void MergeBaseItemData(
MetadataResult<TItemType> sourceResult,
MetadataResult<TItemType> targetResult,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings)
bool mergeMetadataSettings,
string requestedLanguage)
{
var source = sourceResult.Item;
var target = targetResult.Item;
var changeLanguage = false;

if (source == null)
{
Expand All @@ -930,13 +934,22 @@ internal static void MergeBaseItemData(

if (!lockedFields.Contains(MetadataField.Name))
{
if (replaceData || string.IsNullOrEmpty(target.Name))
if (targetResult.ResultLanguage != requestedLanguage
&& targetResult.ResultLanguage != "en"
&& sourceResult.ResultLanguage != requestedLanguage
&& sourceResult.ResultLanguage != "en")
{
// Safeguard against incoming data having an empty name
if (!string.IsNullOrWhiteSpace(source.Name))
{
target.Name = source.Name;
}
target.Name = "";
}
else if (replaceData || ReplaceLanguageCheck(
target.Name,
source.Name,
targetResult.ResultLanguage,
sourceResult.ResultLanguage,
requestedLanguage))
{
target.Name = source.Name;
changeLanguage = true;
}
}

Expand Down Expand Up @@ -985,16 +998,42 @@ internal static void MergeBaseItemData(
target.CustomRating = source.CustomRating;
}

if (replaceData || string.IsNullOrEmpty(target.Tagline))
if (targetResult.ResultLanguage != requestedLanguage
&& targetResult.ResultLanguage != "en"
&& sourceResult.ResultLanguage != requestedLanguage
&& sourceResult.ResultLanguage != "en")
{
target.Tagline = "";
}
else if (replaceData || ReplaceLanguageCheck(
target.Tagline,
source.Tagline,
targetResult.ResultLanguage,
sourceResult.ResultLanguage,
requestedLanguage))
{
target.Tagline = source.Tagline;
changeLanguage = true;
}

if (!lockedFields.Contains(MetadataField.Overview))
{
if (replaceData || string.IsNullOrEmpty(target.Overview))
if (targetResult.ResultLanguage != requestedLanguage
&& targetResult.ResultLanguage != "en"
&& sourceResult.ResultLanguage != requestedLanguage
&& sourceResult.ResultLanguage != "en")
{
target.Overview = "";
}
else if (replaceData || ReplaceLanguageCheck(
target.Overview,
source.Overview,
targetResult.ResultLanguage,
sourceResult.ResultLanguage,
requestedLanguage))
{
target.Overview = source.Overview;
changeLanguage = true;
}
}

Expand Down Expand Up @@ -1105,6 +1144,11 @@ internal static void MergeBaseItemData(
target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;
target.PreferredMetadataLanguage = source.PreferredMetadataLanguage;
}

if (changeLanguage)
{
targetResult.ResultLanguage = sourceResult.ResultLanguage;
}
}

private static void MergePeople(List<PersonInfo> source, List<PersonInfo> target)
Expand Down Expand Up @@ -1184,5 +1228,15 @@ private static void MergeVideoInfo(BaseItem source, BaseItem target, bool replac
}
}
}

private static bool ReplaceLanguageCheck(string targetString, string sourceString, string targetLanguage, string sourceLanguage, string requestedLanguage)
{
var sourceEnglish = sourceLanguage == "en";
var targetHasContent = !string.IsNullOrEmpty(targetString);
var sourceHasContent = !string.IsNullOrEmpty(sourceString);
var targetIsRequeted = targetLanguage == requestedLanguage;
var sourceIsRequested = requestedLanguage is null || sourceLanguage == requestedLanguage;
return ((!targetHasContent && sourceIsRequested) || (sourceHasContent && !targetIsRequeted && sourceIsRequested) || (sourceEnglish && !targetHasContent) || (!sourceEnglish && !targetIsRequeted && sourceIsRequested)) && !(targetHasContent && !sourceHasContent && targetLanguage == "en");
}
}
}
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/Movies/MovieMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,15 @@ protected override bool IsFullLocalMetadata(Movie item)
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Movie> source, MetadataResult<Movie> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Movie> source,
MetadataResult<Movie> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/Movies/TrailerMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,15 @@ protected override bool IsFullLocalMetadata(Trailer item)
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Trailer> source, MetadataResult<Trailer> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Trailer> source,
MetadataResult<Trailer> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

if (replaceData || target.Item.TrailerTypes.Length == 0)
{
Expand Down
5 changes: 3 additions & 2 deletions MediaBrowser.Providers/Music/AlbumMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,10 @@ protected override void MergeData(
MetadataResult<MusicAlbum> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings)
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/Music/AudioMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,15 @@ private void SetProviderId(Audio sourceItem, Audio targetItem, bool replaceData,
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Audio> source, MetadataResult<Audio> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Audio> source,
MetadataResult<Audio> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
5 changes: 3 additions & 2 deletions MediaBrowser.Providers/Music/MusicVideoMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ protected override void MergeData(
MetadataResult<MusicVideo> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings)
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/Playlists/PlaylistMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,15 @@ protected override IList<BaseItem> GetChildrenForMetadataUpdates(Playlist item)
=> item.GetLinkedChildren();

/// <inheritdoc />
protected override void MergeData(MetadataResult<Playlist> source, MetadataResult<Playlist> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Playlist> source,
MetadataResult<Playlist> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/TV/EpisodeMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,15 @@ protected override ItemUpdateType BeforeSaveInternal(Episode item, bool isFullRe
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Episode> source, MetadataResult<Episode> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Episode> source,
MetadataResult<Episode> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
10 changes: 8 additions & 2 deletions MediaBrowser.Providers/TV/SeriesMetadataService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,15 @@ protected override bool IsFullLocalMetadata(Series item)
}

/// <inheritdoc />
protected override void MergeData(MetadataResult<Series> source, MetadataResult<Series> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
protected override void MergeData(
MetadataResult<Series> source,
MetadataResult<Series> target,
MetadataField[] lockedFields,
bool replaceData,
bool mergeMetadataSettings,
string? requestedLanguage)
{
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings);
base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings, requestedLanguage);

var sourceItem = source.Item;
var targetItem = target.Item;
Expand Down
Loading