def get_actions_commands()

in osci-cli.py [0:0]


def get_actions_commands():
    """Find all available cli actions"""
    command_group = click.Group()

    for action in Action.__subclasses__():
        options = [
            click.Option([f'--{param.name}', f'-{param.short_name}'] if param.short_name else [f'--{param.name}'],
                         type=param.type if param.type != datetime else str,
                         required=param.required,
                         help=f"{param.description} "
                              f"{param.datetime_format if param.datetime_format else param.choices if param.choices else ''}",
                         default=param.default)
            for param in action.params
        ]
        try:
            command = click.Command(name=action.name(), params=options, callback=action().execute,
                                    short_help=action.__doc__, help=action.help_text())
            command_group.add_command(command)
        except NotImplementedError as ex:
            log.warning(f'Action `{action}` skipped; ex: {ex}')
            continue
    return command_group