this allows the user to ask for none of the changes of this type
Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
print("%s [YES]" % msg)
return True
+ mapping = {
+ 'Y': True,
+ 'YES': True,
+ '': False,
+ 'N': False,
+ 'NO': False,
+ }
+
+ prompt = '[y/N]'
+
if allow_all:
- v = raw_input(msg + ' [y/N/all] ')
- if v.upper() == 'ALL':
- return "ALL"
- return v.upper() in ['Y', 'YES']
- else:
- v = raw_input(msg + ' [y/N] ')
- return v.upper() in ['Y', 'YES']
+ mapping['ALL'] = 'ALL'
+ mapping['NONE'] = 'NONE'
+ prompt = '[y/N/all/none]'
+
+ while True:
+ v = raw_input(msg + ' %s ' % prompt)
+ v = v.upper()
+ if v in mapping:
+ return mapping[v]
+ print("Unknown response '%s'" % v)