From 5c88225ddac550f4cea12b1d5013984bb6c68c77 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Mon, 24 Jan 2011 16:59:52 -0500 Subject: Add brackets around optional parameters when prompting. ticket 832 --- ipalib/cli.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'ipalib/cli.py') 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: -- cgit