add --connector switch, validation

This commit is contained in:
Bradley Cicenas
2017-06-09 17:35:29 +00:00
parent eeac65da8c
commit d372043a17
5 changed files with 28 additions and 8 deletions

18
main.go
View File

@@ -4,6 +4,7 @@ import (
"flag"
"fmt"
"os"
"strings"
"github.com/bcicen/ctop/config"
"github.com/bcicen/ctop/container"
@@ -37,8 +38,11 @@ func main() {
var sortFieldFlag = flag.String("s", "", "select container sort field")
var reverseSortFlag = flag.Bool("r", false, "reverse container sort order")
var invertFlag = flag.Bool("i", false, "invert default colors")
var connectorFlag = flag.String("connector", "docker", "container connector to use")
flag.Parse()
validConnector(*connectorFlag)
if *versionFlag {
fmt.Println(versionStr)
os.Exit(0)
@@ -75,7 +79,7 @@ func main() {
defer Shutdown()
// init grid, cursor, header
cursor = NewGridCursor()
cursor = NewGridCursor(*connectorFlag)
cGrid = compact.NewCompactGrid()
header = widgets.NewCTopHeader()
@@ -104,6 +108,18 @@ func Shutdown() {
}
}
func validConnector(s string) {
if _, ok := enabledConnectors[s]; !ok {
fmt.Printf("invalid connector type: %s", s)
var connectors []string
for k, _ := range enabledConnectors {
connectors = append(connectors, k)
}
fmt.Printf("connector must be one of: %s", strings.Join(connectors, ","))
os.Exit(1)
}
}
// ensure a given sort field is valid
func validSort(s string) {
if _, ok := container.Sorters[s]; !ok {