StubResolver.cs 1.2 KB

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