in modular_cli/service/help_client.py [0:0]
def get_help_message(self, token_meta: dict):
if token_meta.get('route'):
return self.prepare_command_help(
token_meta=token_meta,
specified_tokens=self.requested_command)
level_token_types = {}
for token_name, value in token_meta.items():
token_type = value.get('type')
if token_type is None:
token_type = 'command'
if not level_token_types.get(token_type):
level_token_types.update({token_type: []})
level_token_types.get(token_type).append(token_name)
if not level_token_types:
return ANY_COMMANDS_AVAILABLE_HELP.format(help_stub=HELP_STUB)
help: str = GENERAL_HELP_STRING.format(
help_stub=HELP_STUB, entry_point=ENTRY_POINT)
if level_token_types.get('root command'):
root_command = level_token_types.pop('root command')
if level_token_types.get('command'):
level_token_types['command'].extend(root_command)
else:
level_token_types['command'] = root_command
for type, names_list in level_token_types.items():
names = "\n\t".join(sorted(names_list))
help = help + f"Available {type}s:\n\t{names}\n"""
return help