diff options
author | Taylor Gerring <taylor.gerring@gmail.com> | 2015-05-19 01:24:30 +0800 |
---|---|---|
committer | Taylor Gerring <taylor.gerring@gmail.com> | 2015-05-19 01:24:30 +0800 |
commit | f14feea43683fee58e26a48a51145e72d3ae7ad8 (patch) | |
tree | 6f02793925e5917780a63024490dbc6f5a641f72 /cmd/geth/main.go | |
parent | 36a4ba32485fb6605ea23f03896ae8d7c4cc44ae (diff) | |
download | go-tangerine-f14feea43683fee58e26a48a51145e72d3ae7ad8.tar.gz go-tangerine-f14feea43683fee58e26a48a51145e72d3ae7ad8.tar.zst go-tangerine-f14feea43683fee58e26a48a51145e72d3ae7ad8.zip |
Refactor user prompts into utils
Diffstat (limited to 'cmd/geth/main.go')
-rw-r--r-- | cmd/geth/main.go | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 7db175eb9..df0af3e79 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -21,7 +21,6 @@ package main import ( - "bufio" "fmt" "io" "io/ioutil" @@ -44,7 +43,6 @@ import ( "github.com/ethereum/go-ethereum/logger" "github.com/mattn/go-colorable" "github.com/mattn/go-isatty" - "github.com/peterh/liner" ) import _ "net/http/pprof" @@ -426,12 +424,12 @@ func getPassPhrase(ctx *cli.Context, desc string, confirmation bool) (passphrase passfile := ctx.GlobalString(utils.PasswordFileFlag.Name) if len(passfile) == 0 { fmt.Println(desc) - auth, err := readPassword("Passphrase: ", true) + auth, err := utils.PromptPassword("Passphrase: ", true) if err != nil { utils.Fatalf("%v", err) } if confirmation { - confirm, err := readPassword("Repeat Passphrase: ", false) + confirm, err := utils.PromptPassword("Repeat Passphrase: ", false) if err != nil { utils.Fatalf("%v", err) } @@ -549,7 +547,7 @@ func exportchain(ctx *cli.Context) { } func removeDb(ctx *cli.Context) { - confirm, err := readConfirm("Remove local databases?") + confirm, err := utils.PromptConfirm("Remove local databases?") if err != nil { utils.Fatalf("%v", err) } @@ -690,44 +688,3 @@ func hashish(x string) bool { _, err := strconv.Atoi(x) return err != nil } - -func readConfirm(prompt string) (bool, error) { - var ( - input string - err error - ) - prompt = prompt + " [y/N] " - - if liner.TerminalSupported() { - lr := liner.NewLiner() - defer lr.Close() - input, err = lr.Prompt(prompt) - } else { - fmt.Print(prompt) - input, err = bufio.NewReader(os.Stdin).ReadString('\n') - fmt.Println() - } - - if len(input) > 0 && strings.ToUpper(input[:1]) == "Y" { - return true, nil - } else { - return false, nil - } - - return false, err -} - -func readPassword(prompt string, warnTerm bool) (string, error) { - if liner.TerminalSupported() { - lr := liner.NewLiner() - defer lr.Close() - return lr.PasswordPrompt(prompt) - } - if warnTerm { - fmt.Println("!! Unsupported terminal, password will be echoed.") - } - fmt.Print(prompt) - input, err := bufio.NewReader(os.Stdin).ReadString('\n') - fmt.Println() - return input, err -} |