in knack/prompting.py [0:0]
def _prompt_bool(msg, true_str, false_str, default=None, help_string=None):
verify_is_a_tty()
if default not in [None, true_str, false_str]:
raise ValueError("Valid values for default are {}, {} or None".format(true_str, false_str))
y = true_str.upper() if default == true_str else true_str
n = false_str.upper() if default == false_str else false_str
while True:
ans = _input('{} ({}/{}): '.format(msg, y, n))
if ans == '?' and help_string is not None:
print(help_string)
continue
if ans.lower() == n.lower():
return False
if ans.lower() == y.lower():
return True
if default and not ans:
return default == y.lower()