Enhance CleanupManualLeftoversAsync to remove subtitles from nested folders and empty directories
Updated the CleanupManualLeftoversAsync method to improve its functionality by allowing it to delete subtitle files located in nested directories and remove empty directories after the last episode is processed. Introduced a CompanionMatcher class to accurately identify companion files based on naming conventions. Added integration tests to verify the new cleanup behavior, ensuring that only relevant files are removed while preserving necessary content.
This commit is contained in:
@@ -35,9 +35,10 @@ public interface IMediaStorage
|
||||
IReadOnlyList<ManualInboxFile> ListManualInbox(int max);
|
||||
|
||||
/// <summary>
|
||||
/// Убирает то, что осталось в <c>manual/</c> рядом с забранным файлом: спутники с тем же именем
|
||||
/// и другим расширением (субтитры, nfo, обложка) и опустевший каталог. Другие видеофайлы
|
||||
/// не трогает — рядом может лежать следующая серия.
|
||||
/// Убирает то, что осталось в <c>manual/</c> от забранного файла: спутники с тем же именем
|
||||
/// и другим расширением (субтитры, nfo, обложка), файлы того же эпизода в соседних подпапках
|
||||
/// (<c>subs_ru</c>, <c>Subtitles</c>) и опустевшие каталоги вверх до корня <c>manual/</c>.
|
||||
/// Другие видеофайлы не трогает — рядом может лежать следующая серия или иная версия.
|
||||
/// </summary>
|
||||
Task CleanupManualLeftoversAsync(string relativePath, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user