From 3db48b8d9ab02f6baaf7789d578e551c7d0f9d00 Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Sun, 6 Aug 2017 22:51:29 +0200 Subject: [PATCH] Add helper function to parse a command flag --- client/commands/common.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client/commands/common.go b/client/commands/common.go index 4bb565b6f9..15be46b244 100644 --- a/client/commands/common.go +++ b/client/commands/common.go @@ -5,6 +5,7 @@ package commands import ( "encoding/hex" + "fmt" "strings" "github.com/pkg/errors" @@ -139,3 +140,17 @@ func GetOneArg(args []string, argname string) (string, error) { } return args[0], nil } + +// ParseHexFlag takes a flag name and parses the viper contents as hex +func ParseHexFlag(flag string) ([]byte, error) { + arg := viper.GetString(flag) + if arg == "" { + return nil, errors.Errorf("No such flag: %s", flag) + } + value, err := hex.DecodeString(cmn.StripHex(arg)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Cannot parse %s", flag)) + } + return value, nil + +}