SeasonResolver.cs 1.0 KB

12345678910111213141516171819202122232425262728
  1. using MediaBrowser.Controller.Entities.TV;
  2. using MediaBrowser.Controller.Library;
  3. using System.ComponentModel.Composition;
  4. using System.IO;
  5. namespace MediaBrowser.Controller.Resolvers.TV
  6. {
  7. [Export(typeof(IBaseItemResolver))]
  8. public class SeasonResolver : BaseFolderResolver<Season>
  9. {
  10. protected override Season Resolve(ItemResolveEventArgs args)
  11. {
  12. if (args.Parent is Series && args.IsDirectory && !args.IsMetadataFolder)
  13. {
  14. var season = new Season { };
  15. season.IndexNumber = TVUtils.GetSeasonNumberFromPath(args.Path);
  16. // Gather these now so that the episode provider classes can utilize them instead of having to make their own file system calls
  17. season.MetadataFiles = args.ContainsFolder("metadata") ? Directory.GetFiles(Path.Combine(args.Path, "metadata"), "*", SearchOption.TopDirectoryOnly) : new string[] { };
  18. return season;
  19. }
  20. return null;
  21. }
  22. }
  23. }