From 0a5c10b4b0a9facf700cea8dc52269f99fcbe10a Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Thu, 30 Jul 2020 15:08:27 +0300 Subject: [PATCH] Fix user input wizard, support python 3.5 / 2.7 --- trains/utilities/wizard/user_input.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/trains/utilities/wizard/user_input.py b/trains/utilities/wizard/user_input.py index d8f69ca8..5ea078f0 100644 --- a/trains/utilities/wizard/user_input.py +++ b/trains/utilities/wizard/user_input.py @@ -1,4 +1,3 @@ -import distutils from typing import Optional @@ -53,11 +52,20 @@ def input_int( def input_bool(question, default=False): # type: (str, bool) -> bool + """ + :param question: string to display + :param default: default boolean value + :return: return True if response is 'y'/'yes' 't'/'true' in input.lower() + """ while True: try: response = input("{}: ".format(question)).lower() if not response: return default - return distutils.util.strtobool(response) + if response.startswith("y") or response.startswith("t"): + return True + if response.startswith("n") or response.startswith("f"): + return False + raise ValueError() except ValueError: - print("Invalid input: please enter yes or no") + print("Invalid input: please enter 'yes' or 'no'")