diff options
| author | stefan <stefan@hegedues.at> | 2018-09-12 19:26:21 +0200 |
|---|---|---|
| committer | stefan <stefan@hegedues.at> | 2018-09-12 19:26:21 +0200 |
| commit | 48facb797ed912e4ea6b04b17d1ff190ac2daac4 (patch) | |
| tree | 8dae77a31670a888d733484cb17dd4077d5444e8 /Emby.Server.Implementations/Library/Resolvers/TV | |
| parent | c32d8656382a0eacb301692e0084377fc433ae9b (diff) | |
Update to 3.5.2 and .net core 2.1
Diffstat (limited to 'Emby.Server.Implementations/Library/Resolvers/TV')
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs | 16 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs | 22 |
2 files changed, 27 insertions, 11 deletions
diff --git a/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs index 3bad69b562..d8343f7c65 100644 --- a/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs @@ -50,24 +50,29 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV var path = args.Path; + var seasonParserResult = new SeasonPathParser(namingOptions).Parse(path, true, true); + var season = new Season { - IndexNumber = new SeasonPathParser(namingOptions, new RegexProvider()).Parse(path, true, true).SeasonNumber, + IndexNumber = seasonParserResult.SeasonNumber, SeriesId = series.Id, SeriesName = series.Name }; - if (season.IndexNumber.HasValue) + if (!season.IndexNumber.HasValue || !seasonParserResult.IsSeasonFolder) { var resolver = new Emby.Naming.TV.EpisodeResolver(namingOptions); - var episodeInfo = resolver.Resolve(path, true); + var folderName = System.IO.Path.GetFileName(path); + var testPath = "\\\\test\\" + folderName; + + var episodeInfo = resolver.Resolve(testPath, true); if (episodeInfo != null) { if (episodeInfo.EpisodeNumber.HasValue && episodeInfo.SeasonNumber.HasValue) { - _logger.Info("Found folder underneath series with episode number: {0}. Season {1}. Episode {2}", + _logger.Debug("Found folder underneath series with episode number: {0}. Season {1}. Episode {2}", path, episodeInfo.SeasonNumber.Value, episodeInfo.EpisodeNumber.Value); @@ -75,7 +80,10 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV return null; } } + } + if (season.IndexNumber.HasValue) + { var seasonNumber = season.IndexNumber.Value; season.Name = seasonNumber == 0 ? diff --git a/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index a693e3b264..951f439c24 100644 --- a/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -82,11 +82,11 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV }; } } - else if (string.IsNullOrWhiteSpace(collectionType)) + else if (string.IsNullOrEmpty(collectionType)) { if (args.ContainsFileSystemEntryByName("tvshow.nfo")) { - if (args.Parent.IsRoot) + if (args.Parent != null && args.Parent.IsRoot) { // For now, return null, but if we want to allow this in the future then add some additional checks to guard against a misplaced tvshow.nfo return null; @@ -99,7 +99,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV }; } - if (args.Parent.IsRoot) + if (args.Parent != null && args.Parent.IsRoot) { return null; } @@ -160,11 +160,19 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV return true; } - var allowOptimisticEpisodeDetection = isTvContentType; - var namingOptions = ((LibraryManager)libraryManager).GetNamingOptions(allowOptimisticEpisodeDetection); + var namingOptions = ((LibraryManager)libraryManager).GetNamingOptions(); var episodeResolver = new Emby.Naming.TV.EpisodeResolver(namingOptions); - var episodeInfo = episodeResolver.Resolve(fullName, false, false); + bool? isNamed = null; + bool? isOptimistic = null; + + if (!isTvContentType) + { + isNamed = true; + isOptimistic = false; + } + + var episodeInfo = episodeResolver.Resolve(fullName, false, isNamed, isOptimistic, null, false); if (episodeInfo != null && episodeInfo.EpisodeNumber.HasValue) { return true; @@ -206,7 +214,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV { var namingOptions = ((LibraryManager)libraryManager).GetNamingOptions(); - var seasonNumber = new SeasonPathParser(namingOptions, new RegexProvider()).Parse(path, isTvContentType, isTvContentType).SeasonNumber; + var seasonNumber = new SeasonPathParser(namingOptions).Parse(path, isTvContentType, isTvContentType).SeasonNumber; return seasonNumber.HasValue; } |
