Alex Lourie has uploaded a new change for review.

Change subject: packaging: Moved askYesNo function to utils
......................................................................

packaging: Moved askYesNo function to utils

Change-Id: Id791dc09a18b5f2c31cfe30346075fd845382b53
Signed-off-by: Alex Lourie <[email protected]>
---
M packaging/fedora/setup/common_utils.py
M packaging/fedora/setup/engine-setup.py
M packaging/fedora/setup/engine-upgrade.py
3 files changed, 22 insertions(+), 42 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/7562/1

diff --git a/packaging/fedora/setup/common_utils.py 
b/packaging/fedora/setup/common_utils.py
index 357b63d..e2a6815 100755
--- a/packaging/fedora/setup/common_utils.py
+++ b/packaging/fedora/setup/common_utils.py
@@ -6,6 +6,7 @@
 import logging
 import subprocess
 import re
+from StringIO import StringIO
 import output_messages
 import traceback
 import os
@@ -792,6 +793,22 @@
     # Return rpm version
     return rpmVersion
 
+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)
+
 def retry(func, expectedException=Exception, tries=None, timeout=None, 
sleep=1):
     """
     Retry a function. Wraps the retry logic so you don't have to
diff --git a/packaging/fedora/setup/engine-setup.py 
b/packaging/fedora/setup/engine-setup.py
index 820145c..5bb0c32 100755
--- a/packaging/fedora/setup/engine-setup.py
+++ b/packaging/fedora/setup/engine-setup.py
@@ -575,7 +575,7 @@
                     loop = False
                 # If validation failed but LOOSE_VALIDATION is true, ask user
                 elif param.getKey("LOOSE_VALIDATION"):
-                    answer = _askYesNo("User input failed validation, do you 
still wish to use it")
+                    answer = utils.askYesNo("User input failed validation, do 
you still wish to use it")
                     if answer:
                         loop = False
                         controller.CONF[param.getKey("CONF_NAME")] = userInput
@@ -623,22 +623,6 @@
         _getInputFromUser(param)
 
     return 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)
 
 def copyAndLinkConfig(config):
     """
@@ -1551,7 +1535,7 @@
                     logging.info("%s: %s" % (cmdOption, 
controller.CONF[param.getKey("CONF_NAME")]))
                     print "%s:" % (cmdOption) + " " * l + 
controller.CONF[param.getKey("CONF_NAME")]
     logging.info("*** User input summary ***")
-    answer = _askYesNo(output_messages.INFO_USE_PARAMS)
+    answer = utils.askYesNo(output_messages.INFO_USE_PARAMS)
     if not answer:
         logging.debug("user chose to re-enter the user parameters")
         for group in controller.getAllGroups():
@@ -1713,7 +1697,7 @@
     #if we don't use an answer file, we need to ask the user if to stop engine
     if not configFile:
         print output_messages.INFO_NEED_STOP_JBOSS
-        answer = _askYesNo(output_messages.INFO_Q_STOP_JBOSS)
+        answer = utils.askYesNo(output_messages.INFO_Q_STOP_JBOSS)
         if answer:
             print output_messages.INFO_STOP_JBOSS,
             jservice.stop(True)
@@ -1917,7 +1901,7 @@
             print output_messages.WARN_SECOND_RUN
 
             # Ask for user input only on interactive run
-            if not configFile and not _askYesNo(output_messages.INFO_PROCEED):
+            if not configFile and not 
utils.askYesNo(output_messages.INFO_PROCEED):
                 logging.debug("exiting gracefully")
                 print output_messages.INFO_STOP_INSTALL_EXIT
                 return 0
diff --git a/packaging/fedora/setup/engine-upgrade.py 
b/packaging/fedora/setup/engine-upgrade.py
index 66851e1..86f1ecf 100755
--- a/packaging/fedora/setup/engine-upgrade.py
+++ b/packaging/fedora/setup/engine-upgrade.py
@@ -149,27 +149,6 @@
     (options, args) = parser.parse_args()
     return (options, args)
 
-# TODO: Use the same facility for setup and upgrade
-def askYesNo(question=None):
-    """
-    service func to ask yes/no
-    input from user
-    """
-    message = StringIO()
-    userQuestion = "%s? (yes|no): "%(question)
-    logging.debug("asking user: %s"%userQuestion)
-    message.write(userQuestion)
-    message.seek(0)
-    answer = raw_input(message.read())
-    logging.debug("user answered: %s"%(answer))
-    answer = answer.lower()
-    if answer == "yes" or answer == "y":
-        return True
-    elif answer == "no" or answer == "n":
-        return False
-    else:
-        return askYesNo(question)
-
 def checkJbossService(service=basedefs.ENGINE_SERVICE_NAME):
     """
     Ask user to stop jboss service before
@@ -188,7 +167,7 @@
         logging.debug("jbossas service is up and running")
 
         print MSG_ALERT_STOP_JBOSS
-        answer = askYesNo(INFO_Q_STOP_JBOSS)
+        answer = utils.askYesNo(INFO_Q_STOP_JBOSS)
 
         # If user choose yes -> return true (stop jbossas)
         if answer:


--
To view, visit http://gerrit.ovirt.org/7562
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id791dc09a18b5f2c31cfe30346075fd845382b53
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alex Lourie <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to