jellyfin/Emby.Naming/Video/StubResolver.cs

45 lines
1.2 KiB
C#
Raw Normal View History

using System;
2018-09-12 10:26:21 -07:00
using System.IO;
using System.Linq;
2019-01-13 12:17:29 -07:00
using Emby.Naming.Common;
2018-09-12 10:26:21 -07:00
namespace Emby.Naming.Video
{
public class StubResolver
{
private readonly NamingOptions _options;
public StubResolver(NamingOptions options)
{
_options = options;
}
public StubResult ResolveFile(string path)
{
var result = new StubResult();
var extension = Path.GetExtension(path) ?? string.Empty;
2019-01-07 16:27:46 -07:00
2018-09-12 10:26:21 -07:00
if (_options.StubFileExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase))
{
result.IsStub = true;
path = Path.GetFileNameWithoutExtension(path);
var token = (Path.GetExtension(path) ?? string.Empty).TrimStart('.');
foreach (var rule in _options.StubTypes)
{
if (string.Equals(rule.Token, token, StringComparison.OrdinalIgnoreCase))
{
result.StubType = rule.StubType;
result.Tokens.Add(token);
break;
}
}
}
return result;
}
}
}