RootDirProvider.GetMostFreeRootDir() will calculate the find the RootDir with the most free space and return its path.

pull/7/merge
Mark McDowall 13 years ago
parent 117cebe655
commit b3abcb6096

@ -83,6 +83,26 @@ namespace NzbDrone.Core.Providers
return results;
}
public virtual string GetMostFreeRootDir()
{
ulong maxSize = 0;
var maxPath = String.Empty;
var rootDirs = GetAll();
foreach (var rootDir in rootDirs)
{
rootDir.FreeSpace = new DirectoryInfo(rootDir.Path).FreeDiskSpace();
if (rootDir.FreeSpace > maxSize)
{
maxPath = rootDir.Path;
maxSize = rootDir.FreeSpace;
}
}
return maxPath;
}
#endregion
}
}

@ -9,5 +9,8 @@ namespace NzbDrone.Core.Repository
public virtual int Id { get; set; }
public string Path { get; set; }
[ResultColumn]
public ulong FreeSpace { get; set; }
}
}
Loading…
Cancel
Save