StubResolver.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using Emby.Naming.Common;
  5. namespace Emby.Naming.Video
  6. {
  7. public static class StubResolver
  8. {
  9. public static StubResult ResolveFile(string path, NamingOptions options)
  10. {
  11. if (path == null)
  12. {
  13. return default(StubResult);
  14. }
  15. var extension = Path.GetExtension(path);
  16. if (!options.StubFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))
  17. {
  18. return default(StubResult);
  19. }
  20. var result = new StubResult()
  21. {
  22. IsStub = true
  23. };
  24. path = Path.GetFileNameWithoutExtension(path);
  25. var token = Path.GetExtension(path).TrimStart('.');
  26. foreach (var rule in options.StubTypes)
  27. {
  28. if (string.Equals(rule.Token, token, StringComparison.OrdinalIgnoreCase))
  29. {
  30. result.StubType = rule.StubType;
  31. break;
  32. }
  33. }
  34. return result;
  35. }
  36. }
  37. }