Fixed the parser for movies with A.

Fixes  some parser issues.
Leonardo Galli 8 years ago
parent 24a394bf46
commit b9eab860f5

@ -71,6 +71,9 @@ namespace NzbDrone.Core.Test.ParserTests
[TestCase("This Is A Movie (1999) [IMDB #] <Genre, Genre, Genre> {ACTORS} !DIRECTOR +MORE_SILLY_STUFF_NO_ONE_NEEDS ?", "This Is A Movie")]
[TestCase("We Are the Best!.2013.720p.H264.mkv", "We Are the Best!")]
[TestCase("(500).Days.Of.Summer.(2009).DTS.1080p.BluRay.x264.NLsubs", "(500) Days Of Summer")]
[TestCase("To.Live.and.Die.in.L.A.1985.1080p.BluRay", "To Live and Die in L.A.")]
[TestCase("A.I.Artificial.Intelligence.(2001)", "A.I. Artificial Intelligence")]
[TestCase("A.Movie.Name.(1998)", "A Movie Name")]
public void should_parse_movie_title(string postTitle, string title)
{
Parser.Parser.ParseMovieTitle(postTitle).MovieTitle.Should().Be(title);

@ -736,15 +736,25 @@ namespace NzbDrone.Core.Parser
var parts = seriesName.Split('.');
seriesName = "";
int n;
int n = 0;
bool previousAcronym = false;
string nextPart = "";
foreach (var part in parts)
{
if (parts.Length >= n+2)
{
nextPart = parts[n+1];
}
if (part.Length == 1 && part.ToLower() != "a" && !int.TryParse(part, out n))
{
seriesName += part + ".";
previousAcronym = true;
}
else if (part.ToLower() == "a" && (previousAcronym == true || nextPart.Length == 1))
{
seriesName += part + ".";
previousAcronym = true;
}
else
{
if (previousAcronym)
@ -754,7 +764,7 @@ namespace NzbDrone.Core.Parser
}
seriesName += part + " ";
}
n++;
}
seriesName = seriesName.Trim(' ');

Loading…
Cancel
Save