mirror of
https://github.com/Radarr/Radarr
synced 2025-02-22 22:31:26 +00:00
Fixed: Parse GER/DE releases as German language
Fix parsing for German language to correctly detect "GER" and "DE" Update test for GER/DE language parsing.
This commit is contained in:
parent
884abc0368
commit
d375b5ffbe
3 changed files with 14 additions and 2 deletions
|
@ -87,7 +87,13 @@ public void should_parse_language_spanish(string postTitle)
|
|||
}
|
||||
|
||||
[TestCase("Movie.Title.1994.German.1080p.XviD-LOL")]
|
||||
[TestCase("Movie.Title.2016.GERMAN.DUBBED.WS.WEBRiP.XviD.REPACK-TVP")]
|
||||
[TestCase("Movie Title 2016 - Kampfhaehne - mkv - by Videomann")]
|
||||
[TestCase("Movie.Title.2016.Ger.Dub.AAC.1080p.WebDL.x264-TKP21")]
|
||||
[TestCase("Movie.Title.2016.Ger.AAC.1080p.WebDL.x264-TKP21")]
|
||||
[TestCase("Movie.Title.2016.Hun/Ger/Ita.AAC.1080p.WebDL.x264-TKP21")]
|
||||
[TestCase("Movie.Title.2016.1080p.10Bit.HEVC.WEBRip.HIN-ENG-GER.DD5.1.H.265")]
|
||||
[TestCase("Movie.Title.2016.HU-IT-DE.AAC.1080p.WebDL.x264")]
|
||||
public void should_parse_language_german(string postTitle)
|
||||
{
|
||||
var result = Parser.Parser.ParseMovieTitle(postTitle, true);
|
||||
|
|
|
@ -16,7 +16,7 @@ public static class LanguageParser
|
|||
private static readonly Logger Logger = NzbDroneLogger.GetLogger(typeof(LanguageParser));
|
||||
|
||||
private static readonly Regex LanguageRegex = new Regex(@"(?:\W|_|^)(?<italian>\b(?:ita|italian)\b)|
|
||||
(?<german>german\b|videomann|ger[. ]dub)|
|
||||
(?<german>german\b|videomann|ger[. ]dub|\bger\b)|
|
||||
(?<flemish>flemish)|
|
||||
(?<bulgarian>bgaudio)|
|
||||
(?<romanian>rodubbed)|
|
||||
|
@ -44,6 +44,7 @@ public static class LanguageParser
|
|||
(?<polish>\bPL\b)|
|
||||
(?<bulgarian>\bBG\b)|
|
||||
(?<slovak>\bSK\b)|
|
||||
(?<german>\bDE\b)|
|
||||
(?<spanish>\b(?<!DTS[._ -])ES\b))(?:(?i)(?![\W|_|^]SUB))",
|
||||
RegexOptions.Compiled | RegexOptions.IgnorePatternWhitespace);
|
||||
|
||||
|
@ -285,6 +286,11 @@ public static List<Language> ParseLanguages(string title)
|
|||
{
|
||||
languages.Add(Language.Spanish);
|
||||
}
|
||||
|
||||
if (match.Groups["german"].Captures.Any())
|
||||
{
|
||||
languages.Add(Language.German);
|
||||
}
|
||||
}
|
||||
|
||||
var matches = LanguageRegex.Matches(title);
|
||||
|
|
|
@ -142,7 +142,7 @@ public static class Parser
|
|||
private static readonly Regex CleanQualityBracketsRegex = new Regex(@"\[[a-z0-9 ._-]+\]$",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
private static readonly Regex ReleaseGroupRegex = new Regex(@"-(?<releasegroup>[a-z0-9]+(?<part2>-[a-z0-9]+)?(?!.+?(?:480p|576p|720p|1080p|2160p)))(?<!(?:WEB-(DL|Rip)|Blu-Ray|480p|576p|720p|1080p|2160p|DTS-HD|DTS-X|DTS-MA|DTS-ES|-ES|-EN|-CAT|-ENG|-JPN|-HDRip|\d{1,2}-bit|[ ._]\d{4}-\d{2}|-\d{2}|tmdb(id)?-(?<tmdbid>\d+)|(?<imdbid>tt\d{7,8}))(?:\k<part2>)?)(?:\b|[-._ ]|$)|[-._ ]\[(?<releasegroup>[a-z0-9]+)\]$",
|
||||
private static readonly Regex ReleaseGroupRegex = new Regex(@"-(?<releasegroup>[a-z0-9]+(?<part2>-[a-z0-9]+)?(?!.+?(?:480p|576p|720p|1080p|2160p)))(?<!(?:WEB-(DL|Rip)|Blu-Ray|480p|576p|720p|1080p|2160p|DTS-HD|DTS-X|DTS-MA|DTS-ES|-ES|-EN|-CAT|-ENG|-JPN|-GER|-HDRip|\d{1,2}-bit|[ ._]\d{4}-\d{2}|-\d{2}|tmdb(id)?-(?<tmdbid>\d+)|(?<imdbid>tt\d{7,8}))(?:\k<part2>)?)(?:\b|[-._ ]|$)|[-._ ]\[(?<releasegroup>[a-z0-9]+)\]$",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
private static readonly Regex InvalidReleaseGroupRegex = new Regex(@"^([se]\d+|[0-9a-f]{8})$", RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
|
Loading…
Reference in a new issue