aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/Validators
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Library/Validators')
-rw-r--r--Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs28
-rw-r--r--Emby.Server.Implementations/Library/Validators/PeopleValidator.cs28
-rw-r--r--Emby.Server.Implementations/Library/Validators/StudiosValidator.cs18
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);
}
}