Code refactor, adding GoLand workspace with Bazel plugin.
This commit is contained in:
@ -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 {
|
||||
|
Reference in New Issue
Block a user