diff options
-rw-r--r-- | ipa-admintools/ipa-findgroup | 5 | ||||
-rw-r--r-- | ipa-admintools/ipa-finduser | 8 | ||||
-rw-r--r-- | ipa-python/ipaadminutil.py | 23 |
3 files changed, 25 insertions, 11 deletions
diff --git a/ipa-admintools/ipa-findgroup b/ipa-admintools/ipa-findgroup index 4f25ade39..08d623141 100644 --- a/ipa-admintools/ipa-findgroup +++ b/ipa-admintools/ipa-findgroup @@ -74,7 +74,10 @@ def main(): print "Please refine your search and try again." if counter > 1: - groupindex = ipaadminutil.select_group(counter, groups) + try: + groupindex = ipaadminutil.select_group(counter, groups) + except KeyboardInterrupt: + return 1 if groupindex == "q": return 0 diff --git a/ipa-admintools/ipa-finduser b/ipa-admintools/ipa-finduser index 81da24efd..30a6cd257 100644 --- a/ipa-admintools/ipa-finduser +++ b/ipa-admintools/ipa-finduser @@ -97,10 +97,12 @@ def main(): print "Please refine your search and try again." if counter > 1: - userindex = ipaadminutil.select_user(counter, users) + try: + userindex = ipaadminutil.select_user(counter, users) + except KeyboardInterrupt: + return 1 if userindex == "q": - return - + return 0 if userindex >= 0: users = [users[userindex]] diff --git a/ipa-python/ipaadminutil.py b/ipa-python/ipaadminutil.py index 444abdbd1..d94ced4d9 100644 --- a/ipa-python/ipaadminutil.py +++ b/ipa-python/ipaadminutil.py @@ -24,6 +24,11 @@ import subprocess import os def select_user(counter, users): + """counter is the number of User objects in users + users is a list of User objects + + This purposely doesn't catch KeyboardInterrupt + """ i = 1 print "%s entries were found. Which one would you like to display?" % counter for ent in users: @@ -35,12 +40,11 @@ def select_user(counter, users): return "q" if resp == "0": userindex = -1 - break; + break try: userindex = int(resp) - 1 - if (userindex >= 0 and userindex <= counter): - break; - break; + if (userindex >= 0 and userindex < counter): + break except: # fall through to the error msg pass @@ -50,6 +54,11 @@ def select_user(counter, users): return userindex def select_group(counter, groups): + """counter is the number of Group objects in users + users is a list of Group objects + + This purposely doesn't catch KeyboardInterrupt + """ i = 1 print "%s entries were found. Which one would you like to display?" % counter for ent in groups: @@ -61,11 +70,11 @@ def select_group(counter, groups): return "q" if resp == "0": groupindex = -1 - break; + break try: groupindex = int(resp) - 1 - if (groupindex >= 0 and groupindex <= counter): - break; + if (groupindex >= 0 and groupindex < counter): + break except: # fall through to the error msg pass |