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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user