Exemple #1
0
 def choose(self, items: typing.Iterable, message: str = None):
     """Let user pick from list, returns picked item."""
     options = {str(item): item for item in items}
     message = "Choose an item:\n" if message is None else message
     menu = Menu(message, options)
     item_str, item = menu.get_input()
     return item
Exemple #2
0
 def operation_result(self, result_message, undo_op, continue_op):
     result_menu = Menu("Operation result:\n" + result_message, {
         "Undo": undo_op,
         "Continue": continue_op
     })
     key, operation = result_menu.get_input()
     return operation
Exemple #3
0
 def search_result_choice(self,
                          results,
                          next,
                          back,
                          order_field=None,
                          message=""):
     """Get user choice from search results."""
     options = [("Back", back)] + [(str(item), item) for item in results]
     menu_msg = ""
     if order_field == "sports":
         menu_msg = "Ordered based on the first alphabetically ordered "
         menu_msg += "sport users are registered for. \nUsers not "
         menu_msg += "registered for any sports are hidden.\n"
     if message:
         menu_msg += message
     else:
         menu_msg += "Search results:"
     menu = Menu(menu_msg, options)
     string, item = menu.get_input()
     if string == "Back":
         return None, item
     return item, next