Fix handling of arguments

Closes: #67
This commit is contained in:
pancho horrillo
2019-10-25 18:54:52 +02:00
parent 9cb9e9335d
commit c29a17d7e4
+5 -6
View File
@@ -26,7 +26,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
//SetCmd is the command line interface for set kapow data operation // SetCmd is the command line interface for set kapow data operation
var SetCmd = &cobra.Command{ var SetCmd = &cobra.Command{
Use: "set [flags] resource [value]", Use: "set [flags] resource [value]",
Short: "Set a Kapow! resource value", Short: "Set a Kapow! resource value",
@@ -37,16 +37,15 @@ var SetCmd = &cobra.Command{
var r io.Reader var r io.Reader
dataURL, _ := cmd.Flags().GetString("data-url") dataURL, _ := cmd.Flags().GetString("data-url")
handler, _ := cmd.Flags().GetString("handler") handler, _ := cmd.Flags().GetString("handler")
path, args := args[0], args[1:]
if len(args) >= 2 { if len(args) == 1 {
// We have a command line value create a stringReader r = strings.NewReader(args[0])
r = strings.NewReader(strings.Join(args, " "))
} else { } else {
// Use stdin
r = os.Stdin r = os.Stdin
} }
if err := client.SetData(dataURL, handler, args[0], r); err != nil { if err := client.SetData(dataURL, handler, path, r); err != nil {
log.Fatal(err) log.Fatal(err)
} }
}, },