From 29ca18d3f3094f72880795427c916e0f7a5c5287 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 7 Apr 2025 15:32:26 +0300 Subject: [PATCH] Fixed: Parse EN from release titles as English --- .../ParserTests/LanguageParserFixture.cs | 3 +++ src/NzbDrone.Core/Parser/LanguageParser.cs | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs b/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs index a1f73c64a..b4b08ebd5 100644 --- a/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs +++ b/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs @@ -11,6 +11,8 @@ namespace NzbDrone.Core.Test.ParserTests public class LanguageParserFixture : CoreTest { [TestCase("Movie.Title.1994.English.1080p.XviD-LOL")] + [TestCase("Movie Title 1994 Eng 1080p XviD-GROUP")] + [TestCase("Movie Title 1994 EN 1080p XviD-GROUP")] public void should_parse_language_english(string postTitle) { var result = Parser.Parser.ParseMovieTitle(postTitle, true); @@ -22,6 +24,7 @@ namespace NzbDrone.Core.Test.ParserTests [TestCase("Movie.Title.2018.2160p.WEBRip.x265.10bit.HDR.DD5.1-GASMASK")] [TestCase("Movie.Title.2010.720p.BluRay.x264.-[YTS.LT]")] [TestCase("Movie.Title.2010.SUBFRENCH.1080p.WEB.x264-GROUP")] + [TestCase("Movie.Title.2010.En.1080p.WEB.x264-GROUP")] public void should_parse_language_unknown(string postTitle) { var result = Parser.Parser.ParseMovieTitle(postTitle, true); diff --git a/src/NzbDrone.Core/Parser/LanguageParser.cs b/src/NzbDrone.Core/Parser/LanguageParser.cs index f07e80772..fd19e71c2 100644 --- a/src/NzbDrone.Core/Parser/LanguageParser.cs +++ b/src/NzbDrone.Core/Parser/LanguageParser.cs @@ -41,7 +41,8 @@ namespace NzbDrone.Core.Parser (?\b(?:orig|original)\b)", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace); - private static readonly Regex CaseSensitiveLanguageRegex = new Regex(@"(?:(?i)(?\bLT\b)| + private static readonly Regex CaseSensitiveLanguageRegex = new Regex(@"(?:(?i)(?\bEN\b)| + (?\bLT\b)| (?\bCZ\b)| (?\bPL\b)| (?\bBG\b)| @@ -259,6 +260,11 @@ namespace NzbDrone.Core.Parser foreach (Match match in caseSensitiveMatches) { + if (match.Groups["english"].Captures.Any()) + { + languages.Add(Language.English); + } + if (match.Groups["lithuanian"].Captures.Any()) { languages.Add(Language.Lithuanian);