mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-24 22:35:39 -04:00
Fixed: Directory not empty exception deleting nested empty subdirs (#974)
This commit is contained in:
@@ -154,6 +154,13 @@ namespace NzbDrone.Common.Disk
|
||||
return _fileSystem.Directory.GetDirectories(path);
|
||||
}
|
||||
|
||||
public string[] GetDirectories(string path, SearchOption searchOption)
|
||||
{
|
||||
Ensure.That(path, () => path).IsValidPath();
|
||||
|
||||
return _fileSystem.Directory.GetDirectories(path, "*", searchOption);
|
||||
}
|
||||
|
||||
public string[] GetFiles(string path, SearchOption searchOption)
|
||||
{
|
||||
Ensure.That(path, () => path).IsValidPath();
|
||||
@@ -500,10 +507,11 @@ namespace NzbDrone.Common.Disk
|
||||
|
||||
public void RemoveEmptySubfolders(string path)
|
||||
{
|
||||
var subfolders = GetDirectories(path);
|
||||
var subfolders = GetDirectories(path, SearchOption.AllDirectories);
|
||||
var files = GetFiles(path, SearchOption.AllDirectories);
|
||||
|
||||
foreach (var subfolder in subfolders)
|
||||
// By sorting by length descending we ensure we always delete children before parents
|
||||
foreach (var subfolder in subfolders.OrderByDescending(x => x.Length))
|
||||
{
|
||||
if (files.None(f => subfolder.IsParentPath(f)))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user