12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # encoding: utf-8
- """A payload based version of page."""
- # Copyright (c) IPython Development Team.
- # Distributed under the terms of the Modified BSD License.
- import warnings
- from IPython.core.getipython import get_ipython
- def page(strng, start=0, screen_lines=0, pager_cmd=None):
- """Print a string, piping through a pager.
- This version ignores the screen_lines and pager_cmd arguments and uses
- IPython's payload system instead.
- Parameters
- ----------
- strng : str or mime-dict
- Text to page, or a mime-type keyed dict of already formatted data.
- start : int
- Starting line at which to place the display.
- """
- # Some routines may auto-compute start offsets incorrectly and pass a
- # negative value. Offset to 0 for robustness.
- start = max(0, start)
- shell = get_ipython()
-
- if isinstance(strng, dict):
- data = strng
- else:
- data = {'text/plain' : strng}
- payload = dict(
- source='page',
- data=data,
- start=start,
- )
- shell.payload_manager.write_payload(payload)
- def install_payload_page():
- """DEPRECATED, use show_in_pager hook
-
- Install this version of page as IPython.core.page.page.
- """
- warnings.warn("""install_payload_page is deprecated.
- Use `ip.set_hook('show_in_pager, page.as_hook(payloadpage.page))`
- """)
- from IPython.core import page as corepage
- corepage.page = page
|