|
@@ -2529,25 +2529,16 @@ namespace Emby.Server.Implementations.Library
|
|
|
EpisodeInfo episodeInfo = null;
|
|
|
if (episode.IsFileProtocol)
|
|
|
{
|
|
|
- episodeInfo = resolver.Resolve(episode.Path, isFolder, null, null, isAbsoluteNaming) ?? new EpisodeInfo(episode.Path);
|
|
|
+ episodeInfo = resolver.Resolve(episode.Path, isFolder, null, null, isAbsoluteNaming);
|
|
|
// Resolve from parent folder if it's not the Season folder
|
|
|
- if (!episodeInfo.EpisodeNumber.HasValue && episode.Parent.GetType() == typeof(Folder))
|
|
|
- {
|
|
|
- var episodeInfoFromFolder = resolver.Resolve(Path.GetDirectoryName(episode.Path)!, true, null, null, isAbsoluteNaming);
|
|
|
- // merge the missing information
|
|
|
- episodeInfo.SeriesName = episodeInfoFromFolder?.SeriesName;
|
|
|
- episodeInfo.EpisodeNumber ??= episodeInfoFromFolder?.EpisodeNumber;
|
|
|
- episodeInfo.EndingEpisodeNumber ??= episodeInfoFromFolder?.EndingEpisodeNumber;
|
|
|
- episodeInfo.SeasonNumber ??= episodeInfoFromFolder?.SeasonNumber;
|
|
|
- episodeInfo.Container ??= episodeInfoFromFolder?.Container;
|
|
|
- episodeInfo.Format3D ??= episodeInfoFromFolder?.Format3D;
|
|
|
- episodeInfo.Is3D = episodeInfoFromFolder?.Is3D ?? episodeInfo.Is3D;
|
|
|
- episodeInfo.IsStub = episodeInfoFromFolder?.IsStub ?? episodeInfo.IsStub;
|
|
|
- episodeInfo.StubType = episodeInfoFromFolder?.StubType;
|
|
|
- episodeInfo.IsByDate = episodeInfoFromFolder?.IsByDate ?? episodeInfo.IsByDate;
|
|
|
- episodeInfo.Day ??= episodeInfoFromFolder?.Day;
|
|
|
- episodeInfo.Month ??= episodeInfoFromFolder?.Month;
|
|
|
- episodeInfo.Year ??= episodeInfoFromFolder?.Year;
|
|
|
+ if (episodeInfo == null && episode.Parent.GetType() == typeof(Folder))
|
|
|
+ {
|
|
|
+ episodeInfo = resolver.Resolve(Path.GetDirectoryName(episode.Path)!, true, null, null, isAbsoluteNaming);
|
|
|
+ if (episodeInfo != null)
|
|
|
+ {
|
|
|
+ // add the container
|
|
|
+ episodeInfo.Container = Path.GetExtension(episode.Path)?.TrimStart('.');
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|