From 2000d0c7682d79764bcec98bfdd0e677ada8fb0b Mon Sep 17 00:00:00 2001 From: Leandro Battochio Date: Thu, 9 Apr 2026 23:16:37 -0300 Subject: [PATCH] Fix BjShare title formatting --- src/NzbDrone.Core/Indexers/Definitions/BjShare.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/BjShare.cs b/src/NzbDrone.Core/Indexers/Definitions/BjShare.cs index dfad99e8d..d31aaf3b0 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/BjShare.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/BjShare.cs @@ -448,7 +448,7 @@ private static string BuildReleaseTitle(string title, int? year, string seasonEp cleanInfo = cleanInfo.Replace("Full HD", "1080p"); cleanInfo = cleanInfo.Replace("4K", "2160p"); cleanInfo = cleanInfo.Replace("SD", "480p"); - cleanInfo = Regex.Replace(cleanInfo, @"(^|/\s*)HD(?=\s*/|$)", "$1720p", RegexOptions.IgnoreCase); + cleanInfo = Regex.Replace(cleanInfo, @"(^|/\s*)HD(?=\s*/|$)", "${1}720p", RegexOptions.IgnoreCase); cleanInfo = cleanInfo.Replace(" / Free", ""); cleanInfo = Regex.Replace(cleanInfo, @"\s+", " ").Trim(); @@ -462,7 +462,13 @@ private static string BuildReleaseTitle(string title, int? year, string seasonEp seasonEpisode = string.Empty; } - return $"{title} {(year.HasValue ? year.Value.ToString(CultureInfo.InvariantCulture) : string.Empty)} {seasonEpisode} {cleanInfo}".Trim(); + return string.Join(" ", new[] + { + title, + year?.ToString(CultureInfo.InvariantCulture), + seasonEpisode, + cleanInfo + }.Where(x => !string.IsNullOrWhiteSpace(x))); } private static (int Seeders, int Peers) ParsePeerStats(IElement row)