private bool InitializeDiskSpace() { if (_fileStoreDiskspaceInitialized) { return(true); } //Try to initialize it only once after the file store directory changes. _fileStoreDiskspaceInitialized = true; var root = FileStoreRootPath; if (root == null) { return(false); } if (!Directory.Exists(root)) { return(false); } try { var driveInfo = new DriveInfo(root); _fileStoreDiskspace = new Diskspace(driveInfo); return(true); } catch (ArgumentException) { return(false); } }
/// <summary> /// Initializes a new instance of the <see cref="SonarrClient"/> class. /// </summary> /// <param name="host">The host.</param> /// <param name="port">The port.</param> /// <param name="apiKey">The API key.</param> /// <param name="urlBase">The URL base.</param> /// <param name="useSsl">if set to <c>true</c> [use SSL].</param> public SonarrClient(string host, int port, string apiKey, [Optional] string urlBase, [Optional] bool useSsl) { // Initialize properties Host = host; Port = port; ApiKey = apiKey; UrlBase = urlBase; UseSsl = useSsl; // Set API URL ApiUrl = $"http{(UseSsl ? "s" : "")}://{Host}:{Port}{("/" + UrlBase ?? "")}/api"; // Initialize endpoints Calendar = new Calendar(this); Command = new Command(this); Diskspace = new Diskspace(this); Episode = new Episode(this); EpisodeFile = new EpisodeFile(this); History = new History(this); Wanted = new Wanted(this); Queue = new Queue(this); Parse = new Parse(this); Profile = new Profile(this); Release = new Release(this); ReleasePush = new ReleasePush(this); Rootfolder = new Rootfolder(this); Series = new Series(this); SeriesLookup = new SeriesLookup(this); SystemStatus = new SystemStatus(this); SystemBackup = new SystemBackup(this); Log = new Log(this); QualityDefinition = new QualityDefinition(this); }
public void TestUsedSpace() { var diskSpace = new Diskspace { TotalSpace = _petaByte, FreeSpace = _halfGig }; Assert.AreEqual(_petaByte - _halfGig, diskSpace.UsedSpace); }
public void TestUsedSpacePercent() { var diskSpace = new Diskspace { TotalSpace = _petaByte, FreeSpace = _halfGig }; Assert.AreEqual(99.999953433871269, diskSpace.UsedSpacePercent); Assert.AreEqual(100 - 99.999953433871269, diskSpace.FreeSpacePercent); }
public void TestFormat() { var diskSpace = new Diskspace { TotalSpace = 2 * _petaByte, FreeSpace = _halfGig }; var format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("2.000 PB", format); format = Diskspace.FormatBytes(diskSpace.TotalSpace); Assert.AreEqual("2.0 PB", format); diskSpace.TotalSpace = 1024 * _petaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1024.000 PB", format); diskSpace.TotalSpace = _petaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 PB", format); diskSpace.TotalSpace = 1999 * _terabyte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //1999/1024 (PB) Assert.AreEqual("1.952 PB", format); diskSpace.TotalSpace = 999542 * _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //999542/1024 (TB) Assert.AreEqual("976.115 TB", format); diskSpace.TotalSpace = 854563 * _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //854563/1024 (TB) Assert.AreEqual("834.534 TB", format); diskSpace.TotalSpace = _terabyte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 TB", format); diskSpace.TotalSpace = _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 GB", format); diskSpace.TotalSpace = _megaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 MB", format); diskSpace.TotalSpace = _kiloByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 KB", format); diskSpace.TotalSpace = 1023; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1023.000 B", format); }
public void TestSetMinUsedSpace_InvalidPercent() { var diskSpace = new Diskspace { TotalSpace = _petaByte, FreeSpace = _halfGig }; var configuration = new StorageConfiguration { FileStoreDirectory = @"c:\filestore", FileStoreDiskSpace = diskSpace }; configuration.MinimumFreeSpacePercent = 110; }
public void TestSetMinUsedSpace_Auto() { var diskSpace = new Diskspace { TotalSpace = _petaByte, FreeSpace = _halfGig }; var configuration = new StorageConfiguration { FileStoreDirectory = @"c:\filestore", FileStoreDiskSpace = diskSpace }; configuration.MinimumFreeSpacePercent = -10; Assert.AreEqual(configuration.MinimumFreeSpacePercent, StorageConfiguration.AutoMinimumFreeSpace); }
public void TestMinimumFreeSpaceBytes() { var diskSpace = new Diskspace { TotalSpace = _petaByte, FreeSpace = _halfGig }; var configuration = new StorageConfiguration { FileStoreDirectory = @"c:\filestore", FileStoreDiskSpace = diskSpace }; configuration.MinimumFreeSpacePercent = 90; Assert.AreEqual(1013309916158361, configuration.MinimumFreeSpaceBytes); }
public void TestFormat() { var diskSpace = new Diskspace { TotalSpace = 2*_petaByte, FreeSpace = _halfGig }; var format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("2.000 PB", format); format = Diskspace.FormatBytes(diskSpace.TotalSpace); Assert.AreEqual("2.0 PB", format); diskSpace.TotalSpace = 1024 * _petaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1024.000 PB", format); diskSpace.TotalSpace = _petaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 PB", format); diskSpace.TotalSpace = 1999 * _terabyte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //1999/1024 (PB) Assert.AreEqual("1.952 PB", format); diskSpace.TotalSpace = 999542 * _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //999542/1024 (TB) Assert.AreEqual("976.115 TB", format); diskSpace.TotalSpace = 854563 * _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); //854563/1024 (TB) Assert.AreEqual("834.534 TB", format); diskSpace.TotalSpace = _terabyte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 TB", format); diskSpace.TotalSpace = _gigaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 GB", format); diskSpace.TotalSpace = _megaByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 MB", format); diskSpace.TotalSpace = _kiloByte; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1.000 KB", format); diskSpace.TotalSpace = 1023; format = Diskspace.FormatBytes(diskSpace.TotalSpace, "F3"); Assert.AreEqual("1023.000 B", format); }
/// <summary> /// Initializes a new instance of the <see cref="RadarrClient" /> class. /// </summary> /// <param name="host">The host.</param> /// <param name="port">The port.</param> /// <param name="apiKey">The API key.</param> /// <param name="urlBase">The URL base.</param> /// <param name="useSsl">if set to <c>true</c> [use SSL].</param> public RadarrClient(string host, int port, string apiKey, [Optional] string urlBase, [Optional] bool useSsl) { // Initialize properties Host = host; Port = port; ApiKey = apiKey; UrlBase = urlBase; UseSsl = useSsl; // Set API URL var sb = new StringBuilder(); sb.Append("http"); if (UseSsl) { sb.Append("s"); } sb.Append($"://{host}:{Port}"); if (UrlBase != null) { sb.Append($"/{UrlBase}"); } sb.Append("/api"); ApiUrl = sb.ToString(); // Initialize endpoints Calendar = new Calendar(this); Command = new Command(this); Diskspace = new Diskspace(this); History = new History(this); Movie = new Movie(this); SystemStatus = new SystemStatus(this); Profile = new Profile(this); Wanted = new Wanted(this); Log = new Log(this); Queue = new Queue(this); Release = new Release(this); QualityDefinition = new QualityDefinition(this); Indexer = new Indexer(this); Restriction = new Restriction(this); Blacklist = new Blacklist(this); Notification = new Notification(this); RootFolder = new RootFolder(this); Config = new Config(this); ExtraFile = new ExtraFile(this); CustomFormat = new CustomFormat(this); }