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