Code refactor, adding GoLand workspace with Bazel plugin.

This commit is contained in:
2020-01-12 22:09:30 +08:00
parent 6ac03c18cc
commit 2dbb47f519
25 changed files with 519 additions and 194 deletions

View File

@ -143,14 +143,7 @@ func reload() {
parsedFunc = &globals
}
func GetMapping(ip string) string {
thread := pool.Get()
ret, err := starlark.Call(thread, (*parsedFunc)["getMapping"],
starlark.Tuple{starlark.String(ip)}, nil)
if err != nil {
log.Println("Starlark execute error:", err.Error())
return ""
}
func getTarget(ret starlark.Value) string {
switch r := ret.(type) {
case starlark.String:
return string(r)
@ -205,6 +198,17 @@ scriptError:
return ""
}
func GetMapping(ip string) string {
thread := pool.Get()
ret, err := starlark.Call(thread, (*parsedFunc)["getMapping"],
starlark.Tuple{starlark.String(ip)}, nil)
if err != nil {
log.Println("Starlark execute error:", err.Error())
return ""
}
return getTarget(ret)
}
func GetNodes() (res []string) {
thread := pool.Get()
ret, err := starlark.Call(thread, (*parsedFunc)["getNodes"], nil, nil)
@ -215,12 +219,11 @@ func GetNodes() (res []string) {
if r, ok := ret.(*starlark.List); ok {
res = make([]string, r.Len())
for i := 0; i < r.Len(); i++ {
v := r.Index(i)
if s, ok := v.(starlark.String); ok {
res[i] = string(s)
} else {
res[i] = getTarget(r.Index(i))
if res[i] == "" {
log.Println("Script returned unexpected result:",
ret.String())
return nil
}
}
} else {