Source code for consolemenu.items.function_item

from consolemenu.items import ExternalItem


[docs]class FunctionItem(ExternalItem): """ A menu item to call a Python function """ def __init__(self, text, function, args=None, kwargs=None, menu=None, should_exit=False, menu_char=None): """ :ivar str text: The text shown for this menu item :ivar function: The function to be called :ivar list args: An optional list of arguments to be passed to the function :ivar dict kwargs: An optional dictionary of keyword arguments to be passed to the function :ivar ConsoleMenu menu: The menu to which this item belongs :ivar bool should_exit: Whether the menu should exit once this item's action is done :ivar str menu_char: The character used to select this menu item. Optional - defaults to None. """ super(FunctionItem, self).__init__(text=text, menu=menu, should_exit=should_exit, menu_char=menu_char) self.function = function if args is not None: self.args = args else: self.args = [] if kwargs is not None: self.kwargs = kwargs else: self.kwargs = {} self.return_value = None
[docs] def action(self): """ This class overrides this method """ self.return_value = self.function(*self.args, **self.kwargs)
[docs] def clean_up(self): """ This class overrides this method """ self.menu.resume()
[docs] def get_return(self): """ :return: The return value from the function call """ return self.return_value