mirror of
https://github.com/Radarr/Radarr.git
synced 2025-04-24 06:27:08 -04:00
ToDo: Fix Broken Parsing
Fixed: Parsing of Movie Names with Year Fixes: #5799
This commit is contained in:
parent
194e0f3d7f
commit
da1c091474
2 changed files with 13 additions and 3 deletions
|
@ -62,6 +62,10 @@ namespace NzbDrone.Core.Test.ParserTests
|
|||
[TestCase("G.I.Movie.Movie.2013.THEATRiCAL.COMPLETE.BLURAY-GLiMMER", "G.I. Movie Movie")]
|
||||
[TestCase("www.Torrenting.org - Movie.2008.720p.X264-DIMENSION", "Movie")]
|
||||
[TestCase("The.French.Movie.2013.720p.BluRay.x264 - ROUGH[PublicHD]", "The French Movie")]
|
||||
[TestCase("Movie.Title.1984.2020", "Movie Title 1984")]
|
||||
[TestCase("1929 (2020)", "1929")]
|
||||
[TestCase("1929 2020", "1929")]
|
||||
|
||||
public void should_parse_movie_title(string postTitle, string title)
|
||||
{
|
||||
Parser.Parser.ParseMovieTitle(postTitle).PrimaryMovieTitle.Should().Be(title);
|
||||
|
@ -79,6 +83,9 @@ namespace NzbDrone.Core.Test.ParserTests
|
|||
[TestCase("Life.Movie.2014.German.DL.PAL.DVDR-ETM", "Life Movie", "", 2014)]
|
||||
[TestCase("Joe.Movie.2.EXTENDED.EDITION.2015.German.DL.PAL.DVDR-ETM", "Joe Movie 2", "EXTENDED EDITION", 2015)]
|
||||
[TestCase("Movie.EXTENDED.2011.HDRip.AC3.German.XviD-POE", "Movie", "EXTENDED", 2011)]
|
||||
[TestCase("Movie.Title.1984.2020", "Movie Title 1984", "", 2020)]
|
||||
[TestCase("1929 (2020)", "1929", "", 2020)]
|
||||
[TestCase("1929 2020", "1929", "", 2020)]
|
||||
|
||||
//Special cases (see description)
|
||||
[TestCase("Movie.Klasse.von.1999.1990.German.720p.HDTV.x264-NORETAiL", "Movie Klasse von 1999", "", 1990, Description = "year in the title")]
|
||||
|
|
|
@ -42,6 +42,12 @@ namespace NzbDrone.Core.Parser
|
|||
|
||||
//As a last resort for movies that have ( or [ in their title.
|
||||
new Regex(@"^(?<title>.+?)?(?:(?:[-_\W](?<![)\[!]))*(?<year>(1(8|9)|20)\d{2}(?!p|i|\d+|\]|\W\d+)))+(\W+|_|$)(?!\\)", RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Year in Title
|
||||
new Regex(@"^(?<title>.+?)(?:\W|_)?(?<year>\d{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Maybe the Title is a Year only
|
||||
new Regex(@"^(?<title>.+?)(?:\W|_|\.)?(?<year>\d{4}(?<![ _.]\d{4}))", RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
};
|
||||
|
||||
private static readonly Regex[] ReportMovieTitleFolderRegex = new[]
|
||||
|
@ -128,9 +134,6 @@ namespace NzbDrone.Core.Parser
|
|||
private static readonly Regex AnimeReleaseGroupRegex = new Regex(@"^(?:\[(?<subgroup>(?!\s).+?(?<!\s))\](?:_|-|\s|\.)?)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
private static readonly Regex YearInTitleRegex = new Regex(@"^(?<title>.+?)(?:\W|_)?(?<year>\d{4})",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
//Handle Exception Release Groups that don't follow -RlsGrp; Manual List
|
||||
//First Group is groups whose releases end with RlsGroup) or RlsGroup] second group (entries after `(?=\]|\))|`) is name only...BE VERY CAREFUL WITH THIS, HIGH CHANCE OF FALSE POSITIVES
|
||||
private static readonly Regex ExceptionReleaseGroupRegex = new Regex(@"(?<releasegroup>(Tigole|Joy|YIFY|YTS.MX|YTS.LT|FreetheFish|afm72|Anna|Bandi|Ghost|Kappa|MONOLITH|Qman|RZeroX|SAMPA|Silence|theincognito|t3nzin|Vyndros)(?=\]|\))|KRaLiMaRKo|E\.N\.D|D\-Z0N3)",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue