Merge pull request #2429 from Bond-009/episode

Fix episode parsing
pull/2442/head
dkanada 5 years ago committed by GitHub
commit 4355b453d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -277,7 +277,7 @@ namespace Emby.Naming.Common
// This isn't a Kodi naming rule, but the expression below causes false positives, // This isn't a Kodi naming rule, but the expression below causes false positives,
// so we make sure this one gets tested first. // so we make sure this one gets tested first.
// "Foo Bar 889" // "Foo Bar 889"
new EpisodeExpression(@".*[\\\/](?![Ee]pisode)(?<seriesname>[\w\s]+?)\s(?<epnumber>\d{1,3})(-(?<endingepnumber>\d{2,3}))*[^\\\/]*$") new EpisodeExpression(@".*[\\\/](?![Ee]pisode)(?<seriesname>[\w\s]+?)\s(?<epnumber>\d{1,3})(-(?<endingepnumber>\d{2,3}))*[^\\\/x]*$")
{ {
IsNamed = true IsNamed = true
}, },

@ -6,6 +6,21 @@ namespace Jellyfin.Naming.Tests.TV
{ {
public class EpisodeNumberTests public class EpisodeNumberTests
{ {
private readonly NamingOptions _namingOptions = new NamingOptions();
[Theory]
[InlineData("Watchmen (2019)/Watchmen 1x03 [WEBDL-720p][EAC3 5.1][h264][-TBS] - She Was Killed by Space Junk.mkv", 3)]
[InlineData("The Daily Show/The Daily Show 25x22 - [WEBDL-720p][AAC 2.0][x264] Noah Baumbach-TBS.mkv", 22)]
[InlineData("Castle Rock 2x01 Que el rio siga su curso [WEB-DL HULU 1080p h264 Dual DD5.1 Subs].mkv", 1)]
[InlineData("After Life 1x06 Episodio 6 [WEB-DL NF 1080p h264 Dual DD 5.1 Sub].mkv", 6)]
public void GetEpisodeNumberFromFileTest(string path, int? expected)
{
var result = new EpisodePathParser(_namingOptions)
.Parse(path, false);
Assert.Equal(expected, result.EpisodeNumber);
}
[Fact] [Fact]
public void TestEpisodeNumber1() public void TestEpisodeNumber1()
{ {
@ -382,9 +397,7 @@ namespace Jellyfin.Naming.Tests.TV
private int? GetEpisodeNumberFromFile(string path) private int? GetEpisodeNumberFromFile(string path)
{ {
var options = new NamingOptions(); var result = new EpisodePathParser(_namingOptions)
var result = new EpisodePathParser(options)
.Parse(path, false); .Parse(path, false);
return result.EpisodeNumber; return result.EpisodeNumber;

@ -6,11 +6,21 @@ namespace Jellyfin.Naming.Tests.TV
{ {
public class SeasonNumberTests public class SeasonNumberTests
{ {
private int? GetSeasonNumberFromEpisodeFile(string path) private readonly NamingOptions _namingOptions = new NamingOptions();
[Theory]
[InlineData("The Daily Show/The Daily Show 25x22 - [WEBDL-720p][AAC 2.0][x264] Noah Baumbach-TBS.mkv", 25)]
public void GetSeasonNumberFromEpisodeFileTest(string path, int? expected)
{ {
var options = new NamingOptions(); var result = new EpisodeResolver(_namingOptions)
.Resolve(path, false);
var result = new EpisodeResolver(options) Assert.Equal(expected, result.SeasonNumber);
}
private int? GetSeasonNumberFromEpisodeFile(string path)
{
var result = new EpisodeResolver(_namingOptions)
.Resolve(path, false); .Resolve(path, false);
return result.SeasonNumber; return result.SeasonNumber;

Loading…
Cancel
Save