def _show_doc(cls, fmt_func, keys=None, indent=0, grouped=False,
                  func=None, include_links=False, *args, **kwargs):
        """
        Classmethod to print the formatoptions and their documentation

        This function is the basis for the :meth:`show_summaries` and
        :meth:`show_docs` methods

        Parameters
        ----------
        fmt_func: function
            A function that takes the key, the key as it is printed, and the
            documentation of a formatoption as argument and returns what shall
            be printed
        %(Plotter.show_keys.parameters)s

        Other Parameters
        ----------------
        %(Plotter.show_keys.other_parameters)s

        Returns
        -------
        %(Plotter.show_keys.returns)s

        See Also
        --------
        show_summaries, show_docs"""
        def titled_group(groupname):
            bars = str_indent + '*' * len(groupname) + '\n'
            return bars + str_indent + groupname + '\n' + bars

        func = func or default_print_func

        keys = cls._enhance_keys(keys, *args, **kwargs)
        str_indent = " " * indent
        if grouped:
            grouped_keys = DefaultOrderedDict(list)
            for fmto in map(lambda key: getattr(cls, key), keys):
                grouped_keys[fmto.groupname].append(fmto.key)
            text = "\n\n".join(
                titled_group(group) + cls._show_doc(
                    fmt_func, keys, indent=indent, grouped=False,
                    func=str, include_links=include_links)
                for group, keys in six.iteritems(grouped_keys))
            return func(text.rstrip())

        if include_links or (include_links is None and cls.include_links):
            long_keys = list(map(lambda key: ':attr:`~%s.%s.%s`' % (
                cls.__module__, cls.__name__, key), keys))
        else:
            long_keys = keys

        text = '\n'.join(str_indent + long_key + '\n' + fmt_func(
            key, long_key, getattr(cls, key).__doc__) for long_key, key in zip(
                long_keys, keys))
        return func(text)
def _show_doc ( cls , fmt_func , keys = None , indent = 0 , grouped = False , func = None , include_links = False , * args , ** kwargs ) : def titled_group ( groupname ) : bars = str_indent + '*' * len ( groupname ) + '\n' return bars + str_indent + groupname + '\n' + bars func = func or default_print_func keys = cls . _enhance_keys ( keys , * args , ** kwargs ) str_indent = " " * indent if grouped : grouped_keys = DefaultOrderedDict ( list ) for fmto in map ( lambda key : getattr ( cls , key ) , keys ) : grouped_keys [ fmto . groupname ] . append ( fmto . key ) text = "\n\n" . join ( titled_group ( group ) + cls . _show_doc ( fmt_func , keys , indent = indent , grouped = False , func = str , include_links = include_links ) for group , keys in six . iteritems ( grouped_keys ) ) return func ( text . rstrip ( ) ) if include_links or ( include_links is None and cls . include_links ) : long_keys = list ( map ( lambda key : ':attr:`~%s.%s.%s`' % ( cls . __module__ , cls . __name__ , key ) , keys ) ) else : long_keys = keys text = '\n' . join ( str_indent + long_key + '\n' + fmt_func ( key , long_key , getattr ( cls , key ) . __doc__ ) for long_key , key in zip ( long_keys , keys ) ) return func ( text )
Classmethod to print the formatoptions and their documentation

        This function is the basis for the :meth:`show_summaries` and
        :meth:`show_docs` methods

        Parameters
        ----------
        fmt_func: function
            A function that takes the key, the key as it is printed, and the
            documentation of a formatoption as argument and returns what shall
            be printed
        %(Plotter.show_keys.parameters)s

        Other Parameters
        ----------------
        %(Plotter.show_keys.other_parameters)s

        Returns
        -------
        %(Plotter.show_keys.returns)s

        See Also
        --------
        show_summaries, show_docs