mirror of
https://github.com/Radarr/Radarr
synced 2025-12-15 21:03:27 +01:00
New: Parse original from release name when specified
(cherry picked from commit 88f4016fe0ed768f4206d04479156c45517f15b7) Closes #10673
This commit is contained in:
parent
78c009d6fa
commit
4a2202ed7f
2 changed files with 19 additions and 2 deletions
|
|
@ -537,6 +537,16 @@ public void should_not_add_original_language_to_german_release_when_title_contai
|
|||
result.Languages.Should().Contain(Language.German);
|
||||
}
|
||||
|
||||
[TestCase("Movie.Title.2025.Original.1080P.WEB.H264-RlsGrp")]
|
||||
[TestCase("Movie.Title.2025.Orig.1080P.WEB.H264-RlsGrp")]
|
||||
[TestCase("Movie Title 2025 [HEVC, HDR10, Dolby Vision, WEB-DL 2160p] [Hybrid] 3 XX + Original")]
|
||||
public void should_parse_original_title_from_release_name(string postTitle)
|
||||
{
|
||||
var result = Parser.Parser.ParseMovieTitle(postTitle);
|
||||
result.Languages.Count.Should().Be(1);
|
||||
result.Languages.Should().Contain(Language.Original);
|
||||
}
|
||||
|
||||
[TestCase("The.Movie.Name.2023.German.ML.EAC3.720p.NF.WEB.H264-RlsGrp")]
|
||||
public void should_add_original_language_and_english_to_german_release_with_ml_tag(string postTitle)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -37,7 +37,8 @@ public static class LanguageParser
|
|||
(?<vietnamese>\bVIE\b)|
|
||||
(?<japanese>\bJPN\b)|
|
||||
(?<korean>\bKOR\b)|
|
||||
(?<urdu>\burdu\b)",
|
||||
(?<urdu>\burdu\b)|
|
||||
(?<original>\b(?:orig|original)\b)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
|
||||
|
||||
private static readonly Regex CaseSensitiveLanguageRegex = new Regex(@"(?:(?i)(?<!SUB[\W|_|^]))(?:(?<lithuanian>\bLT\b)|
|
||||
|
|
@ -253,7 +254,7 @@ public static List<Language> ParseLanguages(string title)
|
|||
languages.Add(Language.Tagalog);
|
||||
}
|
||||
|
||||
// Case sensitive
|
||||
// Case-sensitive
|
||||
var caseSensitiveMatches = CaseSensitiveLanguageRegex.Matches(title);
|
||||
|
||||
foreach (Match match in caseSensitiveMatches)
|
||||
|
|
@ -294,6 +295,7 @@ public static List<Language> ParseLanguages(string title)
|
|||
}
|
||||
}
|
||||
|
||||
// Case-insensitive
|
||||
var matches = LanguageRegex.Matches(title);
|
||||
|
||||
foreach (Match match in matches)
|
||||
|
|
@ -417,6 +419,11 @@ public static List<Language> ParseLanguages(string title)
|
|||
{
|
||||
languages.Add(Language.Urdu);
|
||||
}
|
||||
|
||||
if (match.Groups["original"].Success)
|
||||
{
|
||||
languages.Add(Language.Original);
|
||||
}
|
||||
}
|
||||
|
||||
if (!languages.Any())
|
||||
|
|
|
|||
Loading…
Reference in a new issue