summaryrefslogtreecommitdiffstats
path: root/ipalib/cli.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2011-01-24 16:59:52 -0500
committerRob Crittenden <rcritten@redhat.com>2011-01-25 17:08:57 -0500
commit5c88225ddac550f4cea12b1d5013984bb6c68c77 (patch)
treee46a542177294f274d27f73e2cf8d02de618583d /ipalib/cli.py
parent726288470607b94d9747f59a3579f761fd9d85e5 (diff)
downloadfreeipa-5c88225ddac550f4cea12b1d5013984bb6c68c77.tar.gz
freeipa-5c88225ddac550f4cea12b1d5013984bb6c68c77.tar.xz
freeipa-5c88225ddac550f4cea12b1d5013984bb6c68c77.zip
Add brackets around optional parameters when prompting.
ticket 832
Diffstat (limited to 'ipalib/cli.py')
-rw-r--r--ipalib/cli.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 9dda1c27..5543301c 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -507,15 +507,19 @@ class textui(backend.Backend):
def print_error(self, text):
print ' ** %s **' % unicode(text)
- def prompt(self, label, default=None, get_values=None):
+ def prompt(self, label, default=None, get_values=None, optional=False):
"""
Prompt user for input.
"""
# TODO: Add tab completion using readline
+ if optional:
+ prompt = u'[%s]' % label
+ else:
+ prompt = u'%s' % label
if default is None:
- prompt = u'%s: ' % label
+ prompt = u'%s: ' % prompt
else:
- prompt = u'%s [%s]: ' % (label, default)
+ prompt = u'%s [%s]: ' % (prompt, default)
try:
data = raw_input(self.encode(prompt))
except EOFError:
@@ -992,7 +996,7 @@ class cli(backend.Executioner):
while True:
if error is not None:
print '>>> %s: %s' % (unicode(param.label), unicode(error))
- raw = self.Backend.textui.prompt(param.label, default)
+ raw = self.Backend.textui.prompt(param.label, default, optional=param.alwaysask or not param.required)
try:
value = param(raw, **kw)
if value is not None: