#!/usr/bin/env python import argparse from configparser import ConfigParser, ExtendedInterpolation import os import errno import machlib.menu as mm # default_configuration_file = "~/.config/mach5/config.ini" _default_configuration_file = "./etc/config.ini" # _default_menu_file = "~/.config/mach5/menu.yml" _default_menu_file = "./etc/menu.yml" # -------------------- MAIN -------------------- # Parse command line options arg_parser = argparse.ArgumentParser( description='Our simple chords application') arg_parser.add_argument('-c', '--cfg', help='Config ini file', default=_default_configuration_file) arg_parser.add_argument('-m', '--menu', help='Menu yaml file', default=_default_menu_file) args = arg_parser.parse_args() # Load configuration file _configuration = ConfigParser(interpolation=ExtendedInterpolation()) found = _configuration.read(os.path.expanduser(args.cfg)) if (not found): print('[ERROR] Config file not found') raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), args.cfg) menu = mm.Menu.from_file(args.menu) print(menu) print(menu.get_entries().keys()) for v in menu.get_entries().values(): print(f" {v}") print(f"Len is {len(menu)}") print ("-"*10) for i in menu: print(i)