32 lines
650 B
Go
32 lines
650 B
Go
|
|
package wrapper
|
||
|
|
|
||
|
|
import (
|
||
|
|
"encoding/json"
|
||
|
|
"fmt"
|
||
|
|
"ghostrunner-server/modules/utilities"
|
||
|
|
"log"
|
||
|
|
"os"
|
||
|
|
"os/exec"
|
||
|
|
)
|
||
|
|
|
||
|
|
func PyListOnline(venvName string) {
|
||
|
|
pythonBin := fmt.Sprintf("./../runner/%s/bin/python", venvName)
|
||
|
|
cmd := exec.Command(pythonBin, "./../runner/runner.py", "-lo")
|
||
|
|
|
||
|
|
data, err := cmd.CombinedOutput()
|
||
|
|
if err != nil {
|
||
|
|
log.Println(utilities.ErrTag, err, data)
|
||
|
|
cwd, _ := os.Getwd()
|
||
|
|
log.Println("Working directory:", cwd)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
var status utilities.PyOnlineDevices
|
||
|
|
if err := json.Unmarshal(data, &status); err != nil {
|
||
|
|
fmt.Println("Error unmarshaling:", err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
fmt.Printf("Parsed Struct: %+v\n", status)
|
||
|
|
}
|