From e53bddef22e482f30e32c2a6689ec722fe2ce70f Mon Sep 17 00:00:00 2001 From: Alvaro Lopez Ortega Date: Thu, 20 Dec 2012 08:52:50 +0100 Subject: [PATCH] There was no need for this function to be recursive. --- packstack/installer/run_setup.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/packstack/installer/run_setup.py b/packstack/installer/run_setup.py index c9e32c4a0..bb668ae63 100644 --- a/packstack/installer/run_setup.py +++ b/packstack/installer/run_setup.py @@ -192,19 +192,25 @@ def input_param(param): def _askYesNo(question=None): message = StringIO() - askString = "%s? (yes|no): "%(question) - logging.debug("asking user: %s"%askString) - message.write(askString) - message.seek(0) - rawAnswer = raw_input(message.read()) - logging.debug("user answered: %s"%(rawAnswer)) - answer = rawAnswer.lower() - if answer == "yes" or answer == "y": - return True - elif answer == "no" or answer == "n": - return False - else: - return _askYesNo(question) + + while True: + askString = "\r%s? (yes|no): "%(question) + logging.debug("asking user: %s"%askString) + + message.write(askString) + message.seek(0) + + raw = raw_input(message.read()) + if not len(raw): + continue + + answer = raw[0].lower() + logging.debug("user answered read: %s"%(answer)) + + if answer not in 'yn': + continue + + return answer == 'y' def _addDefaultsToMaskedValueSet(): """