diff options
Diffstat (limited to 'Emby.Server.Implementations/Library/Validators')
3 files changed, 48 insertions, 26 deletions
diff --git a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs index 1a53ad672..cd2aab4c8 100644 --- a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs @@ -81,33 +81,27 @@ namespace Emby.Server.Implementations.Library.Validators progress.Report(percent); } - names = names.Select(i => i.RemoveDiacritics()).DistinctNames().ToList(); - - var artistEntities = _libraryManager.GetItemList(new InternalItemsQuery + var deadEntities = _libraryManager.GetItemList(new InternalItemsQuery { - IncludeItemTypes = new[] { typeof(MusicArtist).Name } - + IncludeItemTypes = new[] { typeof(MusicArtist).Name }, + IsDeadArtist = true, + IsLocked = false }).Cast<MusicArtist>().ToList(); - foreach (var artist in artistEntities) + foreach (var item in deadEntities) { - if (!artist.IsAccessedByName) + if (!item.IsAccessedByName) { continue; } + + _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); - var name = (artist.Name ?? string.Empty).RemoveDiacritics(); - - if (!names.Contains(name, StringComparer.OrdinalIgnoreCase)) + _libraryManager.DeleteItem(item, new DeleteOptions { - _logger.Info("Deleting dead artist {0} {1}.", artist.Id.ToString("N"), artist.Name); + DeleteFileLocation = false - await _libraryManager.DeleteItem(artist, new DeleteOptions - { - DeleteFileLocation = false - - }).ConfigureAwait(false); - } + }, false); } progress.Report(100); diff --git a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs index 39630cf96..1f4e1de92 100644 --- a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -1,18 +1,11 @@ -using MediaBrowser.Common.Progress; -using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Configuration; -using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using System; -using System.Collections.Generic; -using System.Linq; using System.Threading; using System.Threading.Tasks; - -using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; namespace Emby.Server.Implementations.Library.Validators @@ -73,7 +66,7 @@ namespace Emby.Server.Implementations.Library.Validators var options = new MetadataRefreshOptions(_fileSystem) { - ImageRefreshMode = ImageRefreshMode.ValidationOnly, + ImageRefreshMode = MetadataRefreshMode.ValidationOnly, MetadataRefreshMode = MetadataRefreshMode.ValidationOnly }; @@ -96,6 +89,23 @@ namespace Emby.Server.Implementations.Library.Validators progress.Report(100 * percent); } + var deadEntities = _libraryManager.GetItemList(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Person).Name }, + IsDeadPerson = true, + IsLocked = false + }); + + foreach (var item in deadEntities) + { + _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); + + _libraryManager.DeleteItem(item, new DeleteOptions + { + DeleteFileLocation = false + }, false); + } + progress.Report(100); _logger.Info("People validation complete"); diff --git a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs index 97b8ff0ac..f306309b3 100644 --- a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs @@ -68,6 +68,24 @@ namespace Emby.Server.Implementations.Library.Validators progress.Report(percent); } + var deadEntities = _libraryManager.GetItemList(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Studio).Name }, + IsDeadStudio = true, + IsLocked = false + }); + + foreach (var item in deadEntities) + { + _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); + + _libraryManager.DeleteItem(item, new DeleteOptions + { + DeleteFileLocation = false + + }, false); + } + progress.Report(100); } } |
