CoreResolutionIgnoreRule.cs 1.5 KB

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