Package: menucli
IntroductionThis is a simple command line menu module that can be used to with
command line applications that would like to include a text based
menu.ObjectiveThe goal of this command line menu module is to provide a simple
texted based menu.  The menu includes menu items that can be an
action/command or a sub menu.  The module was designed to make
the addition of menu items to a menu be a simple process.  There
are only tree methods that can needed to create a menu.  They are:create_menucreate_submenuadd_menu_item_actionThese methods will be explained in detail in the following sections.Create a MenuThecreate_menumethod is used to create the menu that will be used
by the application.  The only requirement to create a menu is to
pass the string that defines the menu being created.  You will also
be required to pass the string that will be used by the menu exit method.
This will be displayed as part of the list of menu items that can be
selected.  The selection of this menu item will cause the menu to exit.When the menu is created and all of the required menu items have been
added then the returned menu can be executed using the show command.Here is an example of how this method can be used.frommenucliimportcreate_menumenu=create_menu('Top Level Menu','Exit')...menu.show()Create a Sub-MenuThecreate_submenumethod is used to create a sub-menu associated
with a given menu item.  The method expects three parameters.  The
name/title of the sub menu, the exit string and the menu that this
sub-menu will be associated with.The name/title will be used by the passed menu to display this menu
item when the menu selection list is generated.The name/title will be displayed when the sub-menu is called by the
passed menu.The exit string will be included as part of this sub-menu menu list
and when selected.  The menu will exit.The menu passed is which menu the creating sub-menu will be associated
with.Here is an example of how this method can be used.frommenucliimportcreate_menu,create_submenumenu=create_menu('Top Level Menu','Exit')submenu=create_submenu('Sub Menu','Exit',menu)...menu.show()Add a Menu ActionTheadd_menu_item_actionmethod will add a menu item that will
have a user specific action/command that will be executed when this
menu item is selected.The method expects four parameters.  They are the menu that this
menu item will be associated with.  This menu item title that will
be displayed as part of a menu menu list.  The action/command that
will be called.  This is either a class that implements a callable
method or a no-argument method.  Lastly, the top level menu is
passed.  This is what is returned when the action/command has been
called by the created menu item.Here is an example of how this method can be used.frommenucliimportcreate_menu,create_submenumenu=create_menu('Top Level Menu','Exit')defaction_call():# Execute the user defined commands...add_menu_item_action(menu,'Top Level Menu Action',action_call,menu)submenu=create_submenu('Sub Menu','Exit',menu)classCallableAction(object):def__call__(self):# Execute user defined commands...add_menu_item_action(submenu,'Top Level Menu Action',CallableAction(),menu)menu.show()Release History2021.04.12Added License and License file information to setup.2021.04.06BugfixesAction Exceptions are being propagated up2021.01.31Initial Release