diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2022-03-05 09:26:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-05 09:26:55 +0100 |
| commit | fab5f37e0e4775eb1d2c80b9d5fa3d98f5be12a6 (patch) | |
| tree | b896a9d1f2989404c818b5ad16f7d7dd2da1d74f /MediaBrowser.Providers | |
| parent | 136eab9b1eb56e9332b40721264f2720b97ab6c1 (diff) | |
| parent | dad7a6fdf6f345969f10942257af6b3d0d61fd9a (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.cs | 22 |
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) { |
