improve name matching

This commit is contained in:
Luke Pulverenti
2015-04-09 17:11:57 -04:00
parent 1b549adf0f
commit 1b600aee37
26 changed files with 81 additions and 43 deletions

View File

@@ -926,10 +926,8 @@ namespace MediaBrowser.Server.Implementations.Library
if (isArtist)
{
var validFilename = _fileSystem.GetValidFilename(name).Trim();
var existing = RootFolder
.GetRecursiveChildren(i => i is T && string.Equals(_fileSystem.GetValidFilename(i.Name).Trim(), validFilename, StringComparison.OrdinalIgnoreCase))
.GetRecursiveChildren(i => i is T && NameExtensions.AreEqual(i.Name, name))
.Cast<T>()
.FirstOrDefault();

View File

@@ -122,7 +122,7 @@ namespace MediaBrowser.Server.Implementations.Library
var artists = items.OfType<Audio>()
.SelectMany(i => i.AllArtists)
.Where(i => !string.IsNullOrWhiteSpace(i))
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
foreach (var item in artists)

View File

@@ -49,7 +49,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
.ToList();
var allArtists = allSongs.SelectMany(i => i.AllArtists)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
var numComplete = 0;

View File

@@ -36,7 +36,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var items = _libraryManager.RootFolder.GetRecursiveChildren(i => (i is Game))
.SelectMany(i => i.Genres)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
var numComplete = 0;

View File

@@ -37,7 +37,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var items = _libraryManager.RootFolder.GetRecursiveChildren(i => !(i is IHasMusicGenres) && !(i is Game))
.SelectMany(i => i.Genres)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
var numComplete = 0;

View File

@@ -36,7 +36,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var items = _libraryManager.RootFolder.GetRecursiveChildren(i => (i is IHasMusicGenres))
.SelectMany(i => i.Genres)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
var numComplete = 0;

View File

@@ -35,7 +35,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var items = _libraryManager.RootFolder.GetRecursiveChildren()
.SelectMany(i => i.Studios)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.ToList();
var numComplete = 0;

View File

@@ -839,7 +839,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var programList = programs.ToList();
var genres = programList.SelectMany(i => i.Genres)
.Distinct(StringComparer.OrdinalIgnoreCase)
.DistinctNames()
.Select(i => _libraryManager.GetGenre(i))
.ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase);

View File

@@ -1419,5 +1419,5 @@
"LabelConversionCpuCoreLimit": "CPU core limit:",
"LabelConversionCpuCoreLimitHelp": "Limit the number of CPU cores that will be used during sync conversion.",
"OptionEnableFullSpeedConversion": "Enable full speed conversion",
"OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to reduce resource consumption."
"OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption."
}