"""
Curses-menu
"""
import sys
try:
from cursesmenu import CursesMenu, SelectionMenu
from cursesmenu.items import FunctionItem, SubmenuItem, CommandItem
except Exception as e:
print('Errors when importing module cursesmenu: %s' % str(e))
[docs]def main():
""" Builds main menu, branches to submenus """
# parent menu
menu = CursesMenu("Local Configuration Menu", "keyup Project")
try:
submenu_backup = submenu_backup(menu)
submenu_logging = submenu_logging(menu)
# assemble main menu
menu.append_item(submenu_backup)
menu.append_item(submenu_logging)
menu.show()
user_selection = menu.selected_option
except Exception as e:
print('Unknown Exception: %s. Exit' % str(e))
return False
return True
if __name__ == '__main__':
menu = CursesMenu("Local Configuration Menu", "keyup Project")
# backup
submenu = CursesMenu("Access Key Backup", 'Do you want to retain a copy of newly created access keys?')
q1_item1 = FunctionItem("Yes", input, ["yes"])
q1_item2 = FunctionItem("No", print('Exit'), ["no"])
submenu.append_item(q1_item1)
submenu.append_item(q1_item2)
submenu_backup = SubmenuItem("Configure Access Key Backup", submenu, menu=menu)
menu.append_item(submenu_backup)
if q1_item1 == "yes":
submenu = CursesMenu("Access Key Backup", 'Enter the directory where a backup copy of the access keys should be stored')
q2_item1 = FunctionItem("~/Backup/", input, ["~/Backup"])
submenu.append(q2_item1)
submenu.show()
# logging
submenu2 = CursesMenu("Logging Configuration", "Do you want to enable logging?")
q2_item1 = FunctionItem("Yes", selection_menu_example(), ['yes'])
q2_item2 = FunctionItem("No", input, ['No'])
#selection_menu_example()
print('\nsubmenu_selection is: %s\n' % str(submenu_selection))
submenu2.append_item(q2_item1)
submenu2.append_item(q2_item2)
submenu_logging = SubmenuItem("Configure Logging", submenu2, menu=menu)
menu.append_item(submenu_logging)
menu.show()
user_selection = menu.selected_option
print('\nuser_selection is: %s\n' % str(user_selection))
sys.exit(0)