Add option to return instantly on single item in cli_select_item()
cli_select_item() allows to quickly launch a menu from code, but if only a single item is given a selection is not necessary in most cases. Therefore we now instantly return the given value in these cases. This can be turned off by setting return_single=False
This commit is contained in:
parent
d926606976
commit
9fe596bc01
|
@ -295,9 +295,15 @@ class CliMenu:
|
|||
self._ran = True
|
||||
|
||||
|
||||
def cli_select_item(options, header=None, abort_exc=ValueError, abort_text="Selection aborted.", style=None):
|
||||
def cli_select_item(options, header=None, abort_exc=ValueError, abort_text="Selection aborted.", style=None,
|
||||
return_single=True):
|
||||
"""Helper function to quickly get a selection with just a few arguments"""
|
||||
menu = CliMenu(header=header, options=options, style=style)
|
||||
|
||||
if return_single and menu.num_options == 1:
|
||||
item = menu.get_options()[0]
|
||||
return item.num, item.item
|
||||
|
||||
if not menu.success:
|
||||
raise abort_exc(abort_text)
|
||||
|
||||
|
|
Loading…
Reference in New Issue