mirror of https://github.com/Sonarr/Sonarr
Fixed: Regression in Quality fallback by extension.
This commit is contained in:
parent
2a86f8c241
commit
2dbf095fd5
|
@ -1,6 +1,8 @@
|
||||||
|
using System.Linq;
|
||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.Parser;
|
using NzbDrone.Core.Parser;
|
||||||
|
using NzbDrone.Core.Qualities;
|
||||||
using NzbDrone.Core.Test.Framework;
|
using NzbDrone.Core.Test.Framework;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Test.ParserTests
|
namespace NzbDrone.Core.Test.ParserTests
|
||||||
|
@ -62,5 +64,13 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||||
{
|
{
|
||||||
Parser.Parser.ParseTitle(postTitle).SeriesTitle.Should().Be(title);
|
Parser.Parser.ParseTitle(postTitle).SeriesTitle.Should().Be(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase("Revolution.S01E02.Chained.Heat.mkv")]
|
||||||
|
[TestCase("Dexter - S01E01 - Title.avi")]
|
||||||
|
public void should_parse_quality_from_extension(string title)
|
||||||
|
{
|
||||||
|
Parser.Parser.ParseTitle(title).Quality.Quality.Should().NotBe(Quality.Unknown);
|
||||||
|
Parser.Parser.ParseTitle(title).Quality.QualitySource.Should().Be(QualitySource.Extension);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -316,9 +316,9 @@ namespace NzbDrone.Core.Parser
|
||||||
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
||||||
}
|
}
|
||||||
|
|
||||||
title = RemoveFileExtension(title);
|
var releaseTitle = RemoveFileExtension(title);
|
||||||
|
|
||||||
var simpleTitle = SimpleTitleRegex.Replace(title, string.Empty);
|
var simpleTitle = SimpleTitleRegex.Replace(releaseTitle, string.Empty);
|
||||||
|
|
||||||
// TODO: Quick fix stripping [url] - prefixes.
|
// TODO: Quick fix stripping [url] - prefixes.
|
||||||
simpleTitle = WebsitePrefixRegex.Replace(simpleTitle, string.Empty);
|
simpleTitle = WebsitePrefixRegex.Replace(simpleTitle, string.Empty);
|
||||||
|
@ -365,13 +365,13 @@ namespace NzbDrone.Core.Parser
|
||||||
result.Special = true;
|
result.Special = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
result.Language = LanguageParser.ParseLanguage(title);
|
result.Language = LanguageParser.ParseLanguage(releaseTitle);
|
||||||
Logger.Debug("Language parsed: {0}", result.Language);
|
Logger.Debug("Language parsed: {0}", result.Language);
|
||||||
|
|
||||||
result.Quality = QualityParser.ParseQuality(title);
|
result.Quality = QualityParser.ParseQuality(title);
|
||||||
Logger.Debug("Quality parsed: {0}", result.Quality);
|
Logger.Debug("Quality parsed: {0}", result.Quality);
|
||||||
|
|
||||||
result.ReleaseGroup = ParseReleaseGroup(title);
|
result.ReleaseGroup = ParseReleaseGroup(releaseTitle);
|
||||||
|
|
||||||
var subGroup = GetSubGroup(match);
|
var subGroup = GetSubGroup(match);
|
||||||
if (!subGroup.IsNullOrWhiteSpace())
|
if (!subGroup.IsNullOrWhiteSpace())
|
||||||
|
@ -522,7 +522,7 @@ namespace NzbDrone.Core.Parser
|
||||||
return seriesTitleInfo;
|
return seriesTitleInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ParsedEpisodeInfo ParseMatchCollection(MatchCollection matchCollection, string title)
|
private static ParsedEpisodeInfo ParseMatchCollection(MatchCollection matchCollection, string releaseTitle)
|
||||||
{
|
{
|
||||||
var seriesName = matchCollection[0].Groups["title"].Value.Replace('.', ' ').Replace('_', ' ');
|
var seriesName = matchCollection[0].Groups["title"].Value.Replace('.', ' ').Replace('_', ' ');
|
||||||
seriesName = RequestInfoRegex.Replace(seriesName, "").Trim(' ');
|
seriesName = RequestInfoRegex.Replace(seriesName, "").Trim(' ');
|
||||||
|
@ -551,7 +551,7 @@ namespace NzbDrone.Core.Parser
|
||||||
|
|
||||||
result = new ParsedEpisodeInfo
|
result = new ParsedEpisodeInfo
|
||||||
{
|
{
|
||||||
ReleaseTitle = title,
|
ReleaseTitle = releaseTitle,
|
||||||
SeasonNumber = seasons.First(),
|
SeasonNumber = seasons.First(),
|
||||||
EpisodeNumbers = new int[0],
|
EpisodeNumbers = new int[0],
|
||||||
AbsoluteEpisodeNumbers = new int[0]
|
AbsoluteEpisodeNumbers = new int[0]
|
||||||
|
@ -645,7 +645,7 @@ namespace NzbDrone.Core.Parser
|
||||||
|
|
||||||
result = new ParsedEpisodeInfo
|
result = new ParsedEpisodeInfo
|
||||||
{
|
{
|
||||||
ReleaseTitle = title,
|
ReleaseTitle = releaseTitle,
|
||||||
AirDate = airDate.ToString(Episode.AIR_DATE_FORMAT),
|
AirDate = airDate.ToString(Episode.AIR_DATE_FORMAT),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue