From 8698fbabf6c7811e8eec6e84512510e9c9a4eb45 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 24 Nov 2018 23:22:25 +0100 Subject: cmd/puppeth: implement chainspec converters --- cmd/puppeth/wizard.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'cmd/puppeth/wizard.go') diff --git a/cmd/puppeth/wizard.go b/cmd/puppeth/wizard.go index b88a61de7..42fc125e5 100644 --- a/cmd/puppeth/wizard.go +++ b/cmd/puppeth/wizard.go @@ -104,6 +104,28 @@ func (w *wizard) readString() string { } } +// readYesNo reads a yes or no from stdin, returning boolean true for yes +func (w *wizard) readYesNo(def bool) bool { + for { + fmt.Printf("> ") + text, err := w.in.ReadString('\n') + if err != nil { + log.Crit("Failed to read user input", "err", err) + } + text = strings.ToLower(strings.TrimSpace(text)) + if text == "y" || text == "yes" { + return true + } + if text == "n" || text == "no" { + return false + } + if len(text) == 0 { + return def + } + fmt.Println("Valid answers: y, yes, n, no or leave empty for default") + } +} + // readDefaultString reads a single line from stdin, trimming if from spaces. If // an empty line is entered, the default value is returned. func (w *wizard) readDefaultString(def string) string { -- cgit