diff --git a/src/NzbDrone.Api/RootFolders/RootFolderResource.cs b/src/NzbDrone.Api/RootFolders/RootFolderResource.cs index 8be6194ca..dd13e8495 100644 --- a/src/NzbDrone.Api/RootFolders/RootFolderResource.cs +++ b/src/NzbDrone.Api/RootFolders/RootFolderResource.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using NzbDrone.Api.REST; using NzbDrone.Core.RootFolders; @@ -9,6 +9,7 @@ namespace NzbDrone.Api.RootFolders { public string Path { get; set; } public long? FreeSpace { get; set; } + public long? TotalSpace { get; set; } public List UnmappedFolders { get; set; } } @@ -25,6 +26,7 @@ namespace NzbDrone.Api.RootFolders Path = model.Path, FreeSpace = model.FreeSpace, + TotalSpace = model.TotalSpace, UnmappedFolders = model.UnmappedFolders }; } @@ -48,4 +50,4 @@ namespace NzbDrone.Api.RootFolders return models.Select(ToResource).ToList(); } } -} \ No newline at end of file +} diff --git a/src/NzbDrone.Core/Datastore/TableMapping.cs b/src/NzbDrone.Core/Datastore/TableMapping.cs index 838b05b95..5874e4ba3 100644 --- a/src/NzbDrone.Core/Datastore/TableMapping.cs +++ b/src/NzbDrone.Core/Datastore/TableMapping.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using Marr.Data; using Marr.Data.Mapping; @@ -87,7 +87,11 @@ namespace NzbDrone.Core.Datastore RegisterMappers(); Mapper.Entity().RegisterModel("Config"); - Mapper.Entity().RegisterModel("RootFolders").Ignore(r => r.FreeSpace); + + Mapper.Entity().RegisterModel("RootFolders") + .Ignore(r => r.FreeSpace) + .Ignore(r => r.TotalSpace); + Mapper.Entity().RegisterModel("ScheduledTasks"); Mapper.Entity().RegisterDefinition("Indexers") diff --git a/src/NzbDrone.Core/RootFolders/RootFolder.cs b/src/NzbDrone.Core/RootFolders/RootFolder.cs index 823265323..f32716b52 100644 --- a/src/NzbDrone.Core/RootFolders/RootFolder.cs +++ b/src/NzbDrone.Core/RootFolders/RootFolder.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using NzbDrone.Core.Datastore; @@ -9,7 +9,8 @@ namespace NzbDrone.Core.RootFolders public string Path { get; set; } public long? FreeSpace { get; set; } + public long? TotalSpace { get; set; } public List UnmappedFolders { get; set; } } -} \ No newline at end of file +} diff --git a/src/NzbDrone.Core/RootFolders/RootFolderService.cs b/src/NzbDrone.Core/RootFolders/RootFolderService.cs index 87db99517..b97107a89 100644 --- a/src/NzbDrone.Core/RootFolders/RootFolderService.cs +++ b/src/NzbDrone.Core/RootFolders/RootFolderService.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using System; using System.Collections.Generic; using System.IO; @@ -76,14 +76,15 @@ namespace NzbDrone.Core.RootFolders if (folder.Path.IsPathValid() && _diskProvider.FolderExists(folder.Path)) { folder.FreeSpace = _diskProvider.GetAvailableSpace(folder.Path); + folder.TotalSpace = _diskProvider.GetTotalSize(folder.Path); folder.UnmappedFolders = GetUnmappedFolders(folder.Path); } } //We don't want an exception to prevent the root folders from loading in the UI, so they can still be deleted catch (Exception ex) { - _logger.Error(ex, "Unable to get free space and unmapped folders for root folder: " + folder.Path); folder.FreeSpace = 0; + _logger.Error(ex, "Unable to get free space and unmapped folders for root folder {0}", folder.Path); folder.UnmappedFolders = new List(); } }); @@ -211,8 +212,9 @@ namespace NzbDrone.Core.RootFolders { var rootFolder = _rootFolderRepository.Get(id); rootFolder.FreeSpace = _diskProvider.GetAvailableSpace(rootFolder.Path); + rootFolder.TotalSpace = _diskProvider.GetTotalSize(rootFolder.Path); rootFolder.UnmappedFolders = GetUnmappedFolders(rootFolder.Path); return rootFolder; } } -} \ No newline at end of file +}