Fixed: Parse EN from release titles as English

This commit is contained in:
Bogdan 2025-04-07 15:32:26 +03:00
parent d9704a999d
commit 29ca18d3f3
2 changed files with 10 additions and 1 deletions

View file

@ -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);

View file

@ -41,7 +41,8 @@ namespace NzbDrone.Core.Parser
(?<original>\b(?:orig|original)\b)",
RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
private static readonly Regex CaseSensitiveLanguageRegex = new Regex(@"(?:(?i)(?<!SUB[\W|_|^]))(?:(?<lithuanian>\bLT\b)|
private static readonly Regex CaseSensitiveLanguageRegex = new Regex(@"(?:(?i)(?<!SUB[\W|_|^]))(?:(?<english>\bEN\b)|
(?<lithuanian>\bLT\b)|
(?<czech>\bCZ\b)|
(?<polish>\bPL\b)|
(?<bulgarian>\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);