1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-21 22:05:43 -04:00

Free space will show shared drives and show drive label

This commit is contained in:
Mark McDowall
2013-10-15 21:11:45 -07:00
parent 741279b596
commit d4fd731b34
8 changed files with 246 additions and 66 deletions
+7 -32
View File
@@ -1,47 +1,22 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using NzbDrone.Common;
using System.Collections.Generic;
using NzbDrone.Core.DiskSpace;
namespace NzbDrone.Api.DiskSpace
{
public class DiskSpaceModule :NzbDroneRestModule<DiskSpaceResource>
{
private readonly IDiskProvider _diskProvider;
private readonly IDiskSpaceService _diskSpaceService;
public DiskSpaceModule(IDiskProvider diskProvider):base("diskspace")
public DiskSpaceModule(IDiskSpaceService diskSpaceService)
:base("diskspace")
{
_diskProvider = diskProvider;
_diskSpaceService = diskSpaceService;
GetResourceAll = GetFreeSpace;
}
public List<DiskSpaceResource> GetFreeSpace()
{
return (_diskProvider.GetFixedDrives()
.Select(
x =>
new DiskSpaceResource()
{
DriveLetter = x,
FreeSpace = _diskProvider.GetAvailableSpace(x).Value,
TotalSpace = _diskProvider.GetTotalSize(x).Value
})).ToList();
}
static string SizeSuffix(Int64 value)
{
string[] suffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
int i = 0;
decimal dValue = (decimal)value;
while (Math.Round(dValue / 1024) >= 1)
{
dValue /= 1024;
i++;
}
return string.Format("{0:n1}{1}", dValue, suffixes[i]);
return ToListResource(_diskSpaceService.GetFreeSpace);
}
}
}