def echo_via_pager(text_or_generator, color=None):
    """This function takes a text and shows it via an environment specific
    pager on stdout.

    .. versionchanged:: 3.0
       Added the `color` flag.

    :param text_or_generator: the text to page, or alternatively, a
                              generator emitting the text to page.
    :param color: controls if the pager supports ANSI colors or not.  The
                  default is autodetection.
    """
    color = resolve_color_default(color)

    if inspect.isgeneratorfunction(text_or_generator):
        i = text_or_generator()
    elif isinstance(text_or_generator, string_types):
        i = [text_or_generator]
    else:
        i = iter(text_or_generator)

    # convert every element of i to a text type if necessary
    text_generator = (el if isinstance(el, string_types) else text_type(el)
                      for el in i)

    from ._termui_impl import pager
    return pager(itertools.chain(text_generator, "\n"), color)
def echo_via_pager ( text_or_generator , color = None ) : color = resolve_color_default ( color ) if inspect . isgeneratorfunction ( text_or_generator ) : i = text_or_generator ( ) elif isinstance ( text_or_generator , string_types ) : i = [ text_or_generator ] else : i = iter ( text_or_generator ) text_generator = ( el if isinstance ( el , string_types ) else text_type ( el ) for el in i ) from . _termui_impl import pager return pager ( itertools . chain ( text_generator , "\n" ) , color )
This function takes a text and shows it via an environment specific
    pager on stdout.

    .. versionchanged:: 3.0
       Added the `color` flag.

    :param text_or_generator: the text to page, or alternatively, a
                              generator emitting the text to page.
    :param color: controls if the pager supports ANSI colors or not.  The
                  default is autodetection.