Attach argparse arguments to an argparse parser/group with table
        options.  These are renderer options and filtering options with the
        ability to turn off headers and footers.  The return value is function
        that parses an argparse.Namespace object into keyword arguments for a
        layout.Table constructor.

def attach_arguments(cls, parser, prefix='--', skip_formats=False,
                         format_excludes=None, format_title=None,
                         format_desc=None, skip_render=False,
                         render_excludes=None, render_title=None,
                         render_desc=None, skip_filters=False,
                         filter_excludes=None, filter_title=None,
                         filter_desc=None):
        """ Attach argparse arguments to an argparse parser/group with table
        options.  These are renderer options and filtering options with the
        ability to turn off headers and footers.  The return value is function
        that parses an argparse.Namespace object into keyword arguments for a
        layout.Table constructor. """
        convs = []
        if not skip_formats:
            attach = cls.attach_format_arguments
            convs.append(attach(parser, prefix, format_excludes, format_title,
                                format_desc))
        if not skip_render:
            attach = cls.attach_render_arguments
            convs.append(attach(parser, prefix, render_excludes, render_title,
                                render_desc))
        if not skip_filters:
            attach = cls.attach_filter_arguments
            convs.append(attach(parser, prefix, filter_excludes, filter_title,
                                filter_desc))

        def argparse_ns_to_table_opts(ns):
            options = {}
            for conv in convs:
                options.update(conv(ns))
            return options
        return argparse_ns_to_table_opts