CoreResolutionIgnoreRule.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using MediaBrowser.Controller.Library;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.Composition;
  5. using System.Linq;
  6. namespace MediaBrowser.Controller.Resolvers
  7. {
  8. /// <summary>
  9. /// Provides the core resolver ignore rules
  10. /// </summary>
  11. [Export(typeof(BaseResolutionIgnoreRule))]
  12. public class CoreResolutionIgnoreRule : BaseResolutionIgnoreRule
  13. {
  14. /// <summary>
  15. /// Any folder named in this list will be ignored - can be added to at runtime for extensibility
  16. /// </summary>
  17. private static readonly List<string> IgnoreFolders = new List<string>
  18. {
  19. "trailers",
  20. "metadata",
  21. "certificate",
  22. "backup",
  23. "ps3_update",
  24. "ps3_vprm",
  25. "adv_obj",
  26. "extrafanart"
  27. };
  28. public override bool ShouldIgnore(ItemResolveArgs args)
  29. {
  30. // Ignore hidden files and folders
  31. if (args.IsHidden)
  32. {
  33. return true;
  34. }
  35. if (args.IsDirectory)
  36. {
  37. var filename = args.FileInfo.cFileName;
  38. // Ignore any folders in our list
  39. if (IgnoreFolders.Contains(filename, StringComparer.OrdinalIgnoreCase))
  40. {
  41. return true;
  42. }
  43. }
  44. return false;
  45. }
  46. }
  47. }