StubResolver.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  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. var result = new StubResult();
  12. var extension = Path.GetExtension(path) ?? string.Empty;
  13. if (options.StubFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))
  14. {
  15. result.IsStub = true;
  16. path = Path.GetFileNameWithoutExtension(path);
  17. var token = (Path.GetExtension(path) ?? string.Empty).TrimStart('.');
  18. foreach (var rule in options.StubTypes)
  19. {
  20. if (string.Equals(rule.Token, token, StringComparison.OrdinalIgnoreCase))
  21. {
  22. result.StubType = rule.StubType;
  23. break;
  24. }
  25. }
  26. }
  27. return result;
  28. }
  29. }
  30. }