summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipa-admintools/ipa-findgroup5
-rw-r--r--ipa-admintools/ipa-finduser8
-rw-r--r--ipa-python/ipaadminutil.py23
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