|
@@ -1,3 +1,4 @@
|
|
|
+using System;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Threading;
|
|
@@ -6,6 +7,7 @@ using MediaBrowser.Controller.Entities;
|
|
|
using MediaBrowser.Controller.IO;
|
|
|
using MediaBrowser.Controller.MediaSegments;
|
|
|
using MediaBrowser.Controller.Trickplay;
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
|
|
|
namespace Emby.Server.Implementations.Library;
|
|
|
|
|
@@ -18,6 +20,7 @@ public class ExternalDataManager : IExternalDataManager
|
|
|
private readonly IMediaSegmentManager _mediaSegmentManager;
|
|
|
private readonly IPathManager _pathManager;
|
|
|
private readonly ITrickplayManager _trickplayManager;
|
|
|
+ private readonly ILogger<ExternalDataManager> _logger;
|
|
|
|
|
|
/// <summary>
|
|
|
/// Initializes a new instance of the <see cref="ExternalDataManager"/> class.
|
|
@@ -26,16 +29,19 @@ public class ExternalDataManager : IExternalDataManager
|
|
|
/// <param name="mediaSegmentManager">The media segment manager.</param>
|
|
|
/// <param name="pathManager">The path manager.</param>
|
|
|
/// <param name="trickplayManager">The trickplay manager.</param>
|
|
|
+ /// <param name="logger">The logger.</param>
|
|
|
public ExternalDataManager(
|
|
|
IKeyframeManager keyframeManager,
|
|
|
IMediaSegmentManager mediaSegmentManager,
|
|
|
IPathManager pathManager,
|
|
|
- ITrickplayManager trickplayManager)
|
|
|
+ ITrickplayManager trickplayManager,
|
|
|
+ ILogger<ExternalDataManager> logger)
|
|
|
{
|
|
|
_keyframeManager = keyframeManager;
|
|
|
_mediaSegmentManager = mediaSegmentManager;
|
|
|
_pathManager = pathManager;
|
|
|
_trickplayManager = trickplayManager;
|
|
|
+ _logger = logger;
|
|
|
}
|
|
|
|
|
|
/// <inheritdoc/>
|
|
@@ -47,7 +53,14 @@ public class ExternalDataManager : IExternalDataManager
|
|
|
{
|
|
|
foreach (var path in validPaths)
|
|
|
{
|
|
|
- Directory.Delete(path, true);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Directory.Delete(path, true);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _logger.LogWarning("Unable to prune external item data at {Path}: {Exception}", path, ex);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|