def cli_commands(obj, namef, clizer): cmds = util.OrderedDict() cmd_by_name = {} for key, val in util.dict_from_names(obj).items(): if not key: continue names = tuple(namef(name) for name in util.maybe_iter(key)) cli = clizer.get_cli(val) cmds[names] = cli for name in names: cmd_by_name[name] = cli return cmds, cmd_by_name
def _process_alt(self, alt): if self.help_names: p = parser.FallbackCommandParameter( func=self.helper.cli, undocumented=self.hide_help, aliases=self.help_aliases) yield p for name, func in util.dict_from_names(alt).items(): func = self.get_cli(func) param = parser.AlternateCommandParameter( undocumented=False, func=func, aliases=[util.name_py2cli(name, kw=True)]) yield param
def cli_commands(obj, namef, clizer): cmds = util.OrderedDict() cmd_by_name = {} try: names = util.dict_from_names(obj).items() except AttributeError: raise ValueError("Cannot guess name for anonymous objects " "(lists, dicts, etc)") for key, val in names: if not key: continue names = tuple(namef(name) for name in util.maybe_iter(key)) cli = clizer.get_cli(val) cmds[names] = cli for name in names: cmd_by_name[name] = cli return cmds, cmd_by_name