improve genre support from OPF metadata

This commit is contained in:
dkanada 2025-11-23 21:40:52 +09:00
parent 820e208bdc
commit d95bab41a1

View file

@ -136,9 +136,13 @@ namespace MediaBrowser.Providers.Books.OpenPackagingFormat
if (genreNodes?.Count > 0)
{
foreach (var node in genreNodes.Cast<XmlNode>().Where(node => !book.Genres.Contains(node.InnerText)))
foreach (var node in genreNodes.Cast<XmlNode>().Where(node => !string.IsNullOrEmpty(node.InnerText) && !book.Genres.Contains(node.InnerText)))
{
book.AddGenre(node.InnerText);
// specification has no rules about content and some books combine every genre into a single element
foreach (var item in node.InnerText.Split(["/", "&", ",", ";", " - "], StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries))
{
book.AddGenre(item);
}
}
}