aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs59
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj1
7 files changed, 65 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
index b9e033d23..d21a123c0 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
@@ -80,6 +80,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
catch (OperationCanceledException)
{
// Don't clutter the log
+ break;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
index ea5d2477a..0670e1a85 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
@@ -81,6 +81,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
catch (OperationCanceledException)
{
// Don't clutter the log
+ break;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
index e959baae5..166f557cf 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
@@ -81,6 +81,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
catch (OperationCanceledException)
{
// Don't clutter the log
+ break;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
index 9554290ed..26e9a23e9 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
@@ -129,6 +129,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
catch (OperationCanceledException)
{
_logger.Info("Pre-scan task cancelled: {0}", task.GetType().Name);
+ break;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
index 1082dd18b..02c7a94b4 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
@@ -80,6 +80,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
catch (OperationCanceledException)
{
// Don't clutter the log
+ break;
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs
new file mode 100644
index 000000000..8600879c2
--- /dev/null
+++ b/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs
@@ -0,0 +1,59 @@
+using MediaBrowser.Controller.Library;
+using MediaBrowser.Model.Logging;
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Server.Implementations.Library.Validators
+{
+ public class YearsPostScanTask : ILibraryPostScanTask
+ {
+ private readonly ILibraryManager _libraryManager;
+ private readonly ILogger _logger;
+
+ public YearsPostScanTask(ILibraryManager libraryManager, ILogger logger)
+ {
+ _libraryManager = libraryManager;
+ _logger = logger;
+ }
+
+ public async Task Run(IProgress<double> progress, CancellationToken cancellationToken)
+ {
+ var allYears = _libraryManager.RootFolder.RecursiveChildren
+ .Select(i => i.ProductionYear ?? -1)
+ .Where(i => i != -1)
+ .Distinct()
+ .ToList();
+
+ var count = allYears.Count;
+ var numComplete = 0;
+
+ foreach (var yearNumber in allYears)
+ {
+ var year = _libraryManager.GetYear(yearNumber);
+
+ try
+ {
+ await year.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ }
+ catch (OperationCanceledException)
+ {
+ // Don't clutter the log
+ break;
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error refreshing year {0}", ex, year);
+ }
+
+ numComplete++;
+ double percent = numComplete;
+ percent /= count;
+ percent *= 90;
+
+ progress.Report(percent + 10);
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 0f05ccf2a..3f74bb52a 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -164,6 +164,7 @@
<Compile Include="Library\Validators\PeopleValidator.cs" />
<Compile Include="Library\Validators\StudiosPostScanTask.cs" />
<Compile Include="Library\Validators\StudiosValidator.cs" />
+ <Compile Include="Library\Validators\YearsPostScanTask.cs" />
<Compile Include="LiveTv\LiveTvManager.cs" />
<Compile Include="Localization\LocalizationManager.cs" />
<Compile Include="MediaEncoder\MediaEncoder.cs" />