jellyfin/MediaBrowser.TV/Resolvers/SeriesResolver.cs

41 lines
1.4 KiB
C#
Raw Normal View History

2012-07-12 06:55:27 +00:00
using System;
using System.ComponentModel.Composition;
2012-07-12 06:55:27 +00:00
using System.IO;
using MediaBrowser.Controller.Events;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.TV.Entities;
namespace MediaBrowser.TV.Resolvers
{
[Export(typeof(IBaseItemResolver))]
public class SeriesResolver : BaseFolderResolver<Series>
2012-07-12 06:55:27 +00:00
{
protected override Series Resolve(ItemResolveEventArgs args)
{
if (args.IsFolder && (args.VirtualFolderCollectionType ?? string.Empty).Equals("TV", StringComparison.OrdinalIgnoreCase))
2012-07-12 06:55:27 +00:00
{
// Optimization to avoid running these tests against VF's
if (args.Parent != null && args.Parent.IsRoot)
{
return null;
}
2012-07-12 17:09:35 +00:00
// Optimization to avoid running these tests against Seasons
if (args.Parent is Series)
{
return null;
}
var metadataFile = args.GetFileSystemEntryByName("series.xml", false);
2012-07-12 06:55:27 +00:00
2012-07-12 17:09:35 +00:00
if (metadataFile.HasValue || Path.GetFileName(args.Path).IndexOf("[tvdbid=", StringComparison.OrdinalIgnoreCase) != -1 || TVUtils.IsSeriesFolder(args.Path, args.FileSystemChildren))
2012-07-12 06:55:27 +00:00
{
return new Series();
}
}
return null;
}
}
}