forked from public/mirror-checker
Gnome checker
This commit is contained in:
parent
939fd711bf
commit
2ee05653fc
|
@ -0,0 +1,52 @@
|
||||||
|
package checkers
|
||||||
|
|
||||||
|
import {
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
}
|
||||||
|
|
||||||
|
var OpenBSDProject Project = Project{
|
||||||
|
Name: "openbsd",
|
||||||
|
Properties: DefaultProjectProperties,
|
||||||
|
NumOfCheckers: 1,
|
||||||
|
Checkers: []*ProjectChecker {
|
||||||
|
GetDefaultChecker("openbsd", true, func(*Project) (bool, error) {
|
||||||
|
file := data[project].(map[string]string)["file1"]
|
||||||
|
cscVersions, err := httpGET(CSCMirror + data[project].(map[string]string)["csc"] + file)
|
||||||
|
if err != nil {
|
||||||
|
return false, GetError(err, "OpenBSD", "getting CSC file")
|
||||||
|
}
|
||||||
|
upstreamVersions, err := httpGET(data[project].(map[string]string)["upstream"] + file)
|
||||||
|
if err != nil {
|
||||||
|
return false, GetError(err, "OpenBSD", "getting upstream file")
|
||||||
|
}
|
||||||
|
cscLatest := regexp.MustCompile(`"\d+\.?\d*"`).FindAllStringSubmatch(cscVersions, -1)
|
||||||
|
upstreamLatest := regexp.MustCompile(`"\d+\.?\d*"`).FindAllStringSubmatch(upstreamVersions, -1)
|
||||||
|
if cscLatest[len(cscLatest) - 1][0] != upstreamLatest[len(upstreamLatest) - 1][0]) {
|
||||||
|
return false, GetError(nil, "OpenBSD", "latest versions do not match")
|
||||||
|
}
|
||||||
|
file += cscLatest[len(cscLatest) - 1][0] + "/"
|
||||||
|
cscVersions, err = httpGET(CSCMirror + data[project].(map[string]string)["csc"] + file + data[project].(map[string]string)["file2"])
|
||||||
|
if err != nil {
|
||||||
|
return false, GetError(err, "OpenBSD", "getting CSC file")
|
||||||
|
}
|
||||||
|
upstreamVersions, err = httpGET(data[project].(map[string]string)["upstream2"] + file + data[project].(map[string]string)["file2"])
|
||||||
|
if err != nil {
|
||||||
|
return false, GetError(err, "OpenBSD", "getting upstream file")
|
||||||
|
}
|
||||||
|
ret := cscVersions == upstreamVersions
|
||||||
|
if !ret {
|
||||||
|
upstreamVersions, err = httpGET(data[project].(map[string]string)["upstream3"] + file + data[project].(map[string]string)["file2"])
|
||||||
|
if err != nil {
|
||||||
|
return false, GetError(err, "OpenBSD", "getting upstream file")
|
||||||
|
}
|
||||||
|
ret = cscVersions == upstreamVersions
|
||||||
|
}
|
||||||
|
return ret, nil
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in New Issue