From a652ce50a9a5f4fbd3ceeba307ec6fd0afed226d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrejs=20=C4=B6=C4=ABlis?= Date: Mon, 8 Jan 2024 22:23:54 +0200 Subject: [PATCH] Fixed: Latvian and Russian language parsing Improved support for Latvian with test cases I have encountered in the wild and fixed a case where Russian is not recognized (RU instead of RUS). --- src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs | 4 ++++ src/NzbDrone.Core/Parser/LanguageParser.cs | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs b/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs index cce5acb15..5f48aebbc 100644 --- a/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs +++ b/src/NzbDrone.Core.Test/ParserTests/LanguageParserFixture.cs @@ -140,6 +140,8 @@ namespace NzbDrone.Core.Test.ParserTests } [TestCase("Movie.Title.1994.Russian.1080p.XviD-LOL")] + [TestCase("Movie.Title.2020.WEB-DLRip.AVC.AC3.EN.RU.ENSub.RUSub-LOL")] + [TestCase("Movie Title (2020) WEB-DL (720p) Rus-Eng")] public void should_parse_language_russian(string postTitle) { var result = Parser.Parser.ParseMovieTitle(postTitle, true); @@ -388,6 +390,8 @@ namespace NzbDrone.Core.Test.ParserTests [TestCase("Movie.Title.2022.lv.WEBRip.XviD-LOL")] [TestCase("Movie.Title.2022.LATVIAN.WEBRip.XviD-LOL")] [TestCase("Movie.Title.2022.Latvian.WEBRip.XviD-LOL")] + [TestCase("Movie.Title.2022.1080p.WEB-DL.DDP5.1.Atmos.H.264.Lat.Eng")] + [TestCase("Movie.Title.2022.1080p.WEB-DL.LAV.RUS-NPPK")] public void should_parse_language_latvian(string postTitle) { var result = Parser.Parser.ParseMovieTitle(postTitle); diff --git a/src/NzbDrone.Core/Parser/LanguageParser.cs b/src/NzbDrone.Core/Parser/LanguageParser.cs index b53017abe..175d7ef36 100644 --- a/src/NzbDrone.Core/Parser/LanguageParser.cs +++ b/src/NzbDrone.Core/Parser/LanguageParser.cs @@ -22,7 +22,7 @@ namespace NzbDrone.Core.Parser (?dublado)| (?greek)| (?\b(?:FR|VO|VF|VFF|VFQ|VFI|VF2|TRUEFRENCH|FRE|FRA)\b)| - (?\brus\b)| + (?\b(?:rus|ru)\b)| (?\beng\b)| (?\b(?:HUNDUB|HUN)\b)| (?\b(?:HebDub|HebDubbed)\b)| @@ -30,7 +30,7 @@ namespace NzbDrone.Core.Parser (?\[(?:CH[ST]|BIG5|GB)\]|简|繁|字幕)| (?(?:(?:\dx)?UKR))| (?\b(?:español|castellano)\b)| - (?\bLV\b)| + (?\b(?:lat|lav|lv)\b)| (?\btel\b)| (?\bVIE\b)", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);