mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-24 02:02:29 -04:00
Fix extracted data cleanup in cleanup post scan task (#14083)
This commit is contained in:
parent
14f142faa8
commit
1b34ebc0fc
@ -48,7 +48,7 @@ public class CleanDatabaseScheduledTask : ILibraryPostScanTask
|
||||
var numComplete = 0;
|
||||
var numItems = itemIds.Count + 1;
|
||||
|
||||
_logger.LogDebug("Cleaning {Number} items with dead parent links", numItems);
|
||||
_logger.LogDebug("Cleaning {Number} items with dead parents", numItems);
|
||||
|
||||
foreach (var itemId in itemIds)
|
||||
{
|
||||
@ -61,33 +61,28 @@ public class CleanDatabaseScheduledTask : ILibraryPostScanTask
|
||||
|
||||
foreach (var mediaSource in item.GetMediaSources(false))
|
||||
{
|
||||
// Delete extracted subtitles
|
||||
try
|
||||
// Delete extracted data
|
||||
var mediaSourceItem = _libraryManager.GetItemById(mediaSource.Id);
|
||||
if (mediaSourceItem is null)
|
||||
{
|
||||
var subtitleFolder = _pathManager.GetSubtitleFolderPath(mediaSource.Id);
|
||||
if (Directory.Exists(subtitleFolder))
|
||||
{
|
||||
Directory.Delete(subtitleFolder, true);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogWarning("Failed to remove subtitle cache folder for {Item}: {Exception}", item.Id, e.Message);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Delete extracted attachments
|
||||
try
|
||||
var extractedDataFolders = _pathManager.GetExtractedDataPaths(mediaSourceItem);
|
||||
foreach (var folder in extractedDataFolders)
|
||||
{
|
||||
var attachmentFolder = _pathManager.GetAttachmentFolderPath(mediaSource.Id);
|
||||
if (Directory.Exists(attachmentFolder))
|
||||
if (Directory.Exists(folder))
|
||||
{
|
||||
Directory.Delete(attachmentFolder, true);
|
||||
try
|
||||
{
|
||||
Directory.Delete(folder, true);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogWarning("Failed to remove {Folder}: {Exception}", folder, e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogWarning("Failed to remove attachment cache folder for {Item}: {Exception}", item.Id, e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
// Delete item
|
||||
|
@ -330,15 +330,10 @@ namespace MediaBrowser.Providers.Manager
|
||||
item.DateCreated = info.CreationTimeUtc;
|
||||
}
|
||||
|
||||
var size = info.Length;
|
||||
if (item is Video video)
|
||||
{
|
||||
var videoType = video.VideoType;
|
||||
if (videoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
|
||||
{
|
||||
Logger.LogInformation("File changed, pruning extracted data: {Path}", item.Path);
|
||||
ExternalDataManager.DeleteExternalItemDataAsync(video, CancellationToken.None).GetAwaiter().GetResult();
|
||||
}
|
||||
Logger.LogInformation("File changed, pruning extracted data: {Path}", item.Path);
|
||||
ExternalDataManager.DeleteExternalItemDataAsync(video, CancellationToken.None).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
updateType |= ItemUpdateType.MetadataImport;
|
||||
|
Loading…
x
Reference in New Issue
Block a user