More consistent yes/no prompts (#3174)

* More consistent yes/no prompts
* Add ==> prefix to yes/no and number prompts
This commit is contained in:
Adam J. Stewart
2017-02-17 15:45:02 -06:00
committed by Todd Gamblin
parent 29d070e50c
commit e492aff4f7
6 changed files with 51 additions and 54 deletions

View File

@@ -59,7 +59,7 @@ def set_debug(flag):
def set_verbose(flag):
global _verbose
_verbose = flag
def set_stacktrace(flag):
global _stacktrace
@@ -83,11 +83,15 @@ def process_stacktrace(countback):
return st_text
def msg(message, *args):
def msg(message, *args, **kwargs):
newline = kwargs.get('newline', True)
st_text = ""
if _stacktrace:
st_text = process_stacktrace(2)
cprint("@*b{%s==>} %s" % (st_text, cescape(message)))
if newline:
cprint("@*b{%s==>} %s" % (st_text, cescape(message)))
else:
cwrite("@*b{%s==>} %s" % (st_text, cescape(message)))
for arg in args:
print indent + str(arg)
@@ -159,7 +163,8 @@ def get_number(prompt, **kwargs):
number = None
while number is None:
ans = raw_input(prompt)
msg(prompt, newline=False)
ans = raw_input()
if ans == str(abort):
return None
@@ -191,7 +196,8 @@ def get_yes_or_no(prompt, **kwargs):
result = None
while result is None:
ans = raw_input(prompt).lower()
msg(prompt, newline=False)
ans = raw_input().lower()
if not ans:
result = default_value
if result is None: