mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-10-29 23:12:39 +01:00
New: Parsing of 4K GM-TEAM releases
This commit is contained in:
parent
4ca5a213fa
commit
9e6b32ca3e
@ -172,6 +172,7 @@ namespace NzbDrone.Core.Test.ParserTests
|
||||
[TestCase("My Title - S01E01 - EpTitle [HEVC 4k DTSHD-MA-6ch]", false)]
|
||||
[TestCase("My Title - S01E01 - EpTitle [HEVC-4k DTSHD-MA-6ch]", false)]
|
||||
[TestCase("My Title - S01E01 - EpTitle [4k HEVC DTSHD-MA-6ch]", false)]
|
||||
[TestCase("[GM-Team][国漫][诛仙][Series Title][2022][19][HEVC][GB][4K]", false)]
|
||||
public void should_parse_hdtv2160p_quality(string title, bool proper)
|
||||
{
|
||||
ParseAndVerifyQuality(title, Quality.HDTV2160p, proper);
|
||||
|
@ -49,8 +49,8 @@ namespace NzbDrone.Core.Parser
|
||||
private static readonly Regex ResolutionRegex = new Regex(@"\b(?:(?<R360p>360p)|(?<R480p>480p|640x480|848x480)|(?<R540p>540p)|(?<R576p>576p)|(?<R720p>720p|1280x720|960p)|(?<R1080p>1080p|1920x1080|1440p|FHD|1080i|4kto1080p)|(?<R2160p>2160p|3840x2160|4k[-_. ](?:UHD|HEVC|BD|H265)|(?:UHD|HEVC|BD|H265)[-_. ]4k))\b",
|
||||
RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
// Handle cases where no resolution is in the release name; assume if UHD then 4k
|
||||
private static readonly Regex ImpliedResolutionRegex = new Regex(@"\b(?<R2160p>UHD)\b",
|
||||
// Handle cases where no resolution is in the release name (assume if UHD then 4k) or resolution is non-standard
|
||||
private static readonly Regex AlternativeResolutionRegex = new Regex(@"\b(?<R2160p>UHD)\b|(?<R2160p>\[4K\])",
|
||||
RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
private static readonly Regex CodecRegex = new Regex(@"\b(?:(?<x264>x264)|(?<h264>h264)|(?<xvidhd>XvidHD)|(?<xvid>Xvid)|(?<divx>divx))\b",
|
||||
@ -558,10 +558,9 @@ namespace NzbDrone.Core.Parser
|
||||
private static Resolution ParseResolution(string name)
|
||||
{
|
||||
var match = ResolutionRegex.Match(name);
|
||||
var alternativeMatch = AlternativeResolutionRegex.Match(name);
|
||||
|
||||
var matchimplied = ImpliedResolutionRegex.Match(name);
|
||||
|
||||
if (!match.Success & !matchimplied.Success)
|
||||
if (!match.Success & !alternativeMatch.Success)
|
||||
{
|
||||
return Resolution.Unknown;
|
||||
}
|
||||
@ -601,7 +600,7 @@ namespace NzbDrone.Core.Parser
|
||||
return Resolution.R2160p;
|
||||
}
|
||||
|
||||
if (matchimplied.Groups["R2160p"].Success)
|
||||
if (alternativeMatch.Groups["R2160p"].Success)
|
||||
{
|
||||
return Resolution.R2160p;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user