diff --git a/portainer.py b/portainer.py index 10793c8..9c484f9 100755 --- a/portainer.py +++ b/portainer.py @@ -18,6 +18,7 @@ from tabulate import tabulate from port import Portainer from prompt_toolkit import prompt from prompt_toolkit.completion import WordCompleter +from prompt_toolkit.shortcuts import checkboxlist_dialog VERSION = "0.1.3" @@ -270,14 +271,22 @@ def prompt_missing_args(args_in, defaults_in, fields): commands, ignore_case=True, match_middle=False ) try: - value_in = ( - prompt( - f" >> {prompt_text}", - completer=completer, - placeholder=default, + if field == "stack": + result = checkboxlist_dialog( + title="Select Services", + text="Choose one or more services:", + values=commands, + ).run() + input(result) + else: + value_in = ( + prompt( + f" >> {prompt_text}", + completer=completer, + placeholder=default, + ) + or default ) - or default - ) except KeyboardInterrupt: print("\n^C received — exiting cleanly.") sys.exit(0)