Merge branch 'master' into feature/DatabaseRefactor

This commit is contained in:
JPVenson
2025-03-25 15:12:48 +00:00
105 changed files with 1478 additions and 802 deletions

View File

@@ -10,6 +10,7 @@ using System.Text.RegularExpressions;
using System.Xml;
using Jellyfin.Data.Enums;
using Jellyfin.Extensions;
using MediaBrowser.Controller.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
@@ -531,42 +532,44 @@ namespace MediaBrowser.MediaEncoding.Probing
private void ProcessPairs(string key, List<NameValuePair> pairs, MediaInfo info)
{
List<BaseItemPerson> peoples = new List<BaseItemPerson>();
var distinctPairs = pairs.Select(p => p.Value)
.Where(i => !string.IsNullOrWhiteSpace(i))
.Trimmed()
.Distinct(StringComparer.OrdinalIgnoreCase);
if (string.Equals(key, "studio", StringComparison.OrdinalIgnoreCase))
{
info.Studios = pairs.Select(p => p.Value)
.Where(i => !string.IsNullOrWhiteSpace(i))
.Distinct(StringComparer.OrdinalIgnoreCase)
.ToArray();
info.Studios = distinctPairs.ToArray();
}
else if (string.Equals(key, "screenwriters", StringComparison.OrdinalIgnoreCase))
{
foreach (var pair in pairs)
foreach (var pair in distinctPairs)
{
peoples.Add(new BaseItemPerson
{
Name = pair.Value,
Name = pair,
Type = PersonKind.Writer
});
}
}
else if (string.Equals(key, "producers", StringComparison.OrdinalIgnoreCase))
{
foreach (var pair in pairs)
foreach (var pair in distinctPairs)
{
peoples.Add(new BaseItemPerson
{
Name = pair.Value,
Name = pair,
Type = PersonKind.Producer
});
}
}
else if (string.Equals(key, "directors", StringComparison.OrdinalIgnoreCase))
{
foreach (var pair in pairs)
foreach (var pair in distinctPairs)
{
peoples.Add(new BaseItemPerson
{
Name = pair.Value,
Name = pair,
Type = PersonKind.Director
});
}
@@ -591,10 +594,10 @@ namespace MediaBrowser.MediaEncoding.Probing
switch (reader.Name)
{
case "key":
name = reader.ReadElementContentAsString();
name = reader.ReadNormalizedString();
break;
case "string":
value = reader.ReadElementContentAsString();
value = reader.ReadNormalizedString();
break;
default:
reader.Skip();
@@ -607,8 +610,8 @@ namespace MediaBrowser.MediaEncoding.Probing
}
}
if (string.IsNullOrWhiteSpace(name)
|| string.IsNullOrWhiteSpace(value))
if (string.IsNullOrEmpty(name)
|| string.IsNullOrEmpty(value))
{
return null;
}
@@ -1453,7 +1456,7 @@ namespace MediaBrowser.MediaEncoding.Probing
var genres = new List<string>(info.Genres);
foreach (var genre in Split(genreVal, true))
{
if (string.IsNullOrWhiteSpace(genre))
if (string.IsNullOrEmpty(genre))
{
continue;
}