jellyfin/MediaBrowser.Model/Extensions/LibraryOptionsExtension.cs
gnattu ee66c74527 Backport pull request #12962 from jellyfin/release-10.10.z
Always consider null char as delimiter for ID3v2

Original-merge: 97dc02b1632c3c329a181c816ff2c6dc84319732

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:22 -05:00

35 lines
970 B
C#

using System;
using System.Linq;
using MediaBrowser.Model.Configuration;
namespace MediaBrowser.Model.Extensions;
/// <summary>
/// Extensions for <see cref="LibraryOptions"/>.
/// </summary>
public static class LibraryOptionsExtension
{
/// <summary>
/// Get the custom tag delimiters.
/// </summary>
/// <param name="options">This LibraryOptions.</param>
/// <returns>CustomTagDelimiters in char[].</returns>
public static char[] GetCustomTagDelimiters(this LibraryOptions options)
{
ArgumentNullException.ThrowIfNull(options);
var delimiterList = options.CustomTagDelimiters.Select<string, char?>(x =>
{
var isChar = char.TryParse(x, out var c);
if (isChar)
{
return c;
}
return null;
}).Where(x => x is not null).Select(x => x!.Value).ToList();
delimiterList.Add('\0');
return delimiterList.ToArray();
}
}