aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorClaus Vium <cvium@users.noreply.github.com>2022-03-05 09:26:55 +0100
committerGitHub <noreply@github.com>2022-03-05 09:26:55 +0100
commitfab5f37e0e4775eb1d2c80b9d5fa3d98f5be12a6 (patch)
treeb896a9d1f2989404c818b5ad16f7d7dd2da1d74f /MediaBrowser.Providers
parent136eab9b1eb56e9332b40721264f2720b97ab6c1 (diff)
parentdad7a6fdf6f345969f10942257af6b3d0d61fd9a (diff)
Merge pull request #7394 from 1337joe/remove-external-file-fuzzy-matching
Strip out external file fuzzy name matching
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs22
1 files changed, 6 insertions, 16 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
index 359eb88020..9338272079 100644
--- a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
+++ b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
@@ -25,16 +25,6 @@ namespace MediaBrowser.Providers.MediaInfo
public abstract class MediaInfoResolver
{
/// <summary>
- /// The <see cref="CompareOptions"/> instance.
- /// </summary>
- private const CompareOptions CompareOptions = System.Globalization.CompareOptions.IgnoreCase | System.Globalization.CompareOptions.IgnoreNonSpace | System.Globalization.CompareOptions.IgnoreSymbols;
-
- /// <summary>
- /// The <see cref="CompareInfo"/> instance.
- /// </summary>
- private readonly CompareInfo _compareInfo = CultureInfo.InvariantCulture.CompareInfo;
-
- /// <summary>
/// The <see cref="ExternalPathParser"/> instance.
/// </summary>
private readonly ExternalPathParser _externalPathParser;
@@ -159,8 +149,6 @@ namespace MediaBrowser.Providers.MediaInfo
return Array.Empty<ExternalPathParserResult>();
}
- var externalPathInfos = new List<ExternalPathParserResult>();
-
var files = directoryService.GetFilePaths(folder, clearCache).ToList();
var internalMetadataPath = video.GetInternalMetadataPath();
if (_fileSystem.DirectoryExists(internalMetadataPath))
@@ -173,13 +161,15 @@ namespace MediaBrowser.Providers.MediaInfo
return Array.Empty<ExternalPathParserResult>();
}
+ var externalPathInfos = new List<ExternalPathParserResult>();
+ ReadOnlySpan<char> prefix = video.FileNameWithoutExtension;
foreach (var file in files)
{
- var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file);
- if (_compareInfo.IsPrefix(fileNameWithoutExtension, video.FileNameWithoutExtension, CompareOptions, out int matchLength)
- && (fileNameWithoutExtension.Length == matchLength || _namingOptions.MediaFlagDelimiters.Contains(fileNameWithoutExtension[matchLength].ToString())))
+ var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.AsSpan());
+ if (prefix.Equals(fileNameWithoutExtension[..prefix.Length], StringComparison.OrdinalIgnoreCase)
+ && (fileNameWithoutExtension.Length == prefix.Length || _namingOptions.MediaFlagDelimiters.Contains(fileNameWithoutExtension[prefix.Length])))
{
- var externalPathInfo = _externalPathParser.ParseFile(file, fileNameWithoutExtension[matchLength..]);
+ var externalPathInfo = _externalPathParser.ParseFile(file, fileNameWithoutExtension[prefix.Length..].ToString());
if (externalPathInfo != null)
{