private bool HasVersion(int major, int minor, int patch = 0, string candidate = null) { candidate = candidate ?? string.Empty; var version = _proxy.GetVersion(Settings); var parsed = VersionRegex.Match(version); if (!parsed.Success) { return(false); } var actualMajor = Convert.ToInt32(parsed.Groups["major"].Value); var actualMinor = Convert.ToInt32(parsed.Groups["minor"].Value); var actualPatch = Convert.ToInt32(parsed.Groups["patch"].Value.Replace("x", "")); var actualCandidate = parsed.Groups["candidate"].Value.ToUpper(); if (actualMajor > major) { return(true); } else if (actualMajor < major) { return(false); } if (actualMinor > minor) { return(true); } else if (actualMinor < minor) { return(false); } if (actualPatch > patch) { return(true); } else if (actualPatch < patch) { return(false); } if (actualCandidate.IsNullOrWhiteSpace()) { return(true); } else if (candidate.IsNullOrWhiteSpace()) { return(false); } else { return(actualCandidate.CompareTo(candidate) > 0); } }
private ValidationFailure TestConnectionAndVersion() { try { var version = _proxy.GetVersion(Settings); var parsed = VersionRegex.Match(version); if (!parsed.Success) { return(new ValidationFailure("Version", "Unknown Version: " + version)); } var major = Convert.ToInt32(parsed.Groups["major"].Value); var minor = Convert.ToInt32(parsed.Groups["minor"].Value); if (major >= 1) { return(null); } if (minor >= 7) { return(null); } return(new ValidationFailure("Version", "Version 0.7.0+ is required, but found: " + version)); } catch (Exception ex) { _logger.Error(ex, ex.Message); return(new ValidationFailure("Host", "Unable to connect to SABnzbd")); } }
private bool HasVersion(int major, int minor, int patch = 0) { var rawVersion = _proxy.GetVersion(Settings); var version = ParseVersion(rawVersion); if (version == null) { return(false); } if (version.Major > major) { return(true); } else if (version.Major < major) { return(false); } if (version.Minor > minor) { return(true); } else if (version.Minor < minor) { return(false); } if (version.Build > patch) { return(true); } else if (version.Build < patch) { return(false); } return(true); }
private ValidationFailure TestConnection() { try { _proxy.GetVersion(Settings); } catch (Exception ex) { _logger.ErrorException(ex.Message, ex); return(new ValidationFailure("Host", "Unable to connect to SABnzbd")); } return(null); }