jenkins-bot has submitted this change and it was merged.
Change subject: generate_user_files: improve and fix listchoice() ......................................................................
generate_user_files: improve and fix listchoice()
* listchoice() in generate_user_files.py no longer considers 0 and negative values as valid input. * 'clist' parameter is now mandatory to avoid entering infinte loop. * Improved function code and readability.
Change-Id: Id4c891743a38d2b89fcba2f889ab7fc8e6ccd557 --- M generate_user_files.py 1 file changed, 8 insertions(+), 7 deletions(-)
Approvals: XZise: Looks good to me, approved jenkins-bot: Verified
diff --git a/generate_user_files.py b/generate_user_files.py index 5366687..d38cca0 100644 --- a/generate_user_files.py +++ b/generate_user_files.py @@ -69,7 +69,7 @@ console_encoding = "iso-8859-1"
-def listchoice(clist=[], message=None, default=None): +def listchoice(clist, message=None, default=None): if not message: message = u"Select"
@@ -89,16 +89,17 @@ try: choice = int(choice) except ValueError: - pass - if isinstance(choice, basestring): + # User typed choice name if choice not in clist: print("Invalid response") + continue else: return choice - try: - return clist[int(choice) - 1] - except: - if not isinstance(choice, basestring): + + # User typed choice number + if 1 <= choice <= len(clist): + return clist[choice - 1] + else: print("Invalid response")
pywikibot-commits@lists.wikimedia.org