Merge pull request #17442 from Shadowghost/fix-numbers-in-episode-names
Fix hyphenated numbers in episode titles parsed as multi-episodes
This commit is contained in:
@@ -361,7 +361,10 @@ namespace Emby.Naming.Common
|
||||
// Not a Kodi rule as well, but the expression below also causes false positives,
|
||||
// so we make sure this one gets tested first.
|
||||
// "Foo Bar 889"
|
||||
new EpisodeExpression(@".*[\\\/](?![Ee]pisode)(?<seriesname>[\w\s]+?)\s(?<epnumber>[0-9]{1,4})(-(?<endingepnumber>[0-9]{2,4}))*[^\\\/x]*$")
|
||||
// Names carrying an SxxEyy marker are excluded because the Kodi expression above already covers them.
|
||||
// Without that guard this expression reads digits out of the title instead, turning
|
||||
// "S01E01 1-23-45 [Bluray-1080p]" into episodes 1 through 45.
|
||||
new EpisodeExpression(@".*[\\\/](?![Ee]pisode)(?![^\\\/]*[Ss][0-9]+[][ ._-]*[Ee][0-9]+)(?<seriesname>[\w\s]+?)\s(?<epnumber>[0-9]{1,4})(-(?<endingepnumber>[0-9]{2,4}))*[^\\\/x]*$")
|
||||
{
|
||||
IsNamed = true
|
||||
},
|
||||
|
||||
@@ -69,6 +69,11 @@ namespace Jellyfin.Naming.Tests.TV
|
||||
[InlineData("Season 1/series-s09e14-720i.mkv", null)]
|
||||
[InlineData("Season 1/MOONLIGHTING_s01e01-e04.mkv", 4)]
|
||||
[InlineData("Season 1/MOONLIGHTING_s01e01-e04", 4)]
|
||||
// Hyphenated numbers in the episode title must not be read as an episode range
|
||||
[InlineData("Season 1/S01E01 The 6-10 to Lubbock [WEBRip-1080p][AV1 Opus].mkv", null)]
|
||||
[InlineData("Season 5/S05E23 11-59 [HDTV-1080p][x265 AC3].mkv", null)]
|
||||
[InlineData("Season 5/S05E23 11-59 [HDTV-1080p][HEVC AC3].mkv", null)]
|
||||
[InlineData("Season 1/S01E01 1-23-45 [Bluray-1080p][AV1 Opus].mkv", null)]
|
||||
public void TestGetEndingEpisodeNumberFromFile(string filename, int? endingEpisodeNumber)
|
||||
{
|
||||
var result = _episodePathParser.Parse(filename, false);
|
||||
|
||||
Reference in New Issue
Block a user