BoxSetResolver.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using MediaBrowser.Controller.Entities.Movies;
  2. using MediaBrowser.Controller.Library;
  3. using System;
  4. using System.IO;
  5. namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
  6. {
  7. /// <summary>
  8. /// Class BoxSetResolver
  9. /// </summary>
  10. public class BoxSetResolver : FolderResolver<BoxSet>
  11. {
  12. /// <summary>
  13. /// Resolves the specified args.
  14. /// </summary>
  15. /// <param name="args">The args.</param>
  16. /// <returns>BoxSet.</returns>
  17. protected override BoxSet Resolve(ItemResolveArgs args)
  18. {
  19. // It's a boxset if all of the following conditions are met:
  20. // Is a Directory
  21. // Contains [boxset] in the path
  22. if (args.IsDirectory)
  23. {
  24. var filename = Path.GetFileName(args.Path);
  25. if (string.IsNullOrEmpty(filename))
  26. {
  27. return null;
  28. }
  29. if (filename.IndexOf("[boxset]", StringComparison.OrdinalIgnoreCase) != -1 || args.ContainsFileSystemEntryByName("collection.xml"))
  30. {
  31. return new BoxSet();
  32. }
  33. }
  34. return null;
  35. }
  36. }
  37. }