public void TestExpandedFormat3D() { // These were introduced for Media Browser 3 // Kodi conventions are preferred but these still need to be supported var options = new ExtendedNamingOptions(); Test("Super movie.3d.mp4", false, null, options); Test("Super movie.3d.hsbs.mp4", true, "hsbs", options); Test("Super movie.3d.sbs.mp4", true, "sbs", options); Test("Super movie.3d.htab.mp4", true, "htab", options); Test("Super movie.3d.tab.mp4", true, "tab", options); Test("Super movie.hsbs.mp4", true, "hsbs", options); Test("Super movie.sbs.mp4", true, "sbs", options); Test("Super movie.htab.mp4", true, "htab", options); Test("Super movie.tab.mp4", true, "tab", options); Test("Super movie.sbs3d.mp4", true, "sbs3d", options); Test("Super movie [3d].mp4", false, null, options); Test("Super movie [hsbs].mp4", true, "hsbs", options); Test("Super movie [fsbs].mp4", true, "fsbs", options); Test("Super movie [ftab].mp4", true, "ftab", options); Test("Super movie [htab].mp4", true, "htab", options); Test("Super movie [sbs3d].mp4", true, "sbs3d", options); }
private int? GetEpisodeNumberFromFile(string path) { var options = new ExtendedNamingOptions(); var result = new EpisodeResolver(options, new NullLogger(), new RegexProvider()) .Resolve(path, false); return result.EpisodeNumber; }
private int? GetSeasonNumberFromPath(string path) { var options = new ExtendedNamingOptions(); var result = new SeasonPathParser(options, new RegexProvider()) .Parse(path, true, true); return result.SeasonNumber; }
private int? GetEndingEpisodeNumberFromFile(string path) { var options = new ExtendedNamingOptions(); var result = new EpisodePathParser(options, new RegexProvider()) .Parse(path, false, true); return result.EndingEpsiodeNumber; }
private void Test(string path, string seriesName, int? seasonNumber, int? episodeNumber) { var options = new ExtendedNamingOptions(); var result = new EpisodeResolver(options, new NullLogger(), new RegexProvider()) .Resolve(path, false); Assert.AreEqual(seasonNumber, result.SeasonNumber); Assert.AreEqual(episodeNumber, result.EpisodeNumber); //Assert.AreEqual(seriesName, result.SeriesName, true, CultureInfo.InvariantCulture); }
public void TestExpandedExtras() { var videoOptions = new ExtendedNamingOptions(); Test("trailer.mp4", "trailer", videoOptions); Test("trailer.mp3", null, videoOptions); Test("300-trailer.mp4", "trailer", videoOptions); Test("theme.mp3", "themesong", videoOptions); Test("theme.mkv", null, videoOptions); Test("300-scene.mp4", "scene", videoOptions); Test("300-scene2.mp4", "scene", videoOptions); Test("300-clip.mp4", "clip", videoOptions); Test("300-deleted.mp4", "deletedscene", videoOptions); Test("300-deletedscene.mp4", "deletedscene", videoOptions); Test("300-interview.mp4", "interview", videoOptions); Test("300-behindthescenes.mp4", "behindthescenes", videoOptions); }
private VideoListResolver GetResolver() { var options = new ExtendedNamingOptions(); return new VideoListResolver(options, new NullLogger()); }
public void TestSample() { var videoOptions = new ExtendedNamingOptions(); Test("300-sample.mp4", "sample", videoOptions); }
protected VideoResolver GetParser() { var options = new ExtendedNamingOptions(); return new VideoResolver(options, new NullLogger()); }