##// END OF EJS Templates
Fix random test failure....
Fix random test failure. The filename was generated taking the last digits of a randomly generated number between 0 and 1, if the number is small enough, it's repr ends with `e-5`, or less (the probability is actually close to 1/1000 because the biggest number we can get with e-5 is (1e-4 - epsilon). We actually did hit that on our CI: - https://ci.appveyor.com/project/IPython/ipython/build/1.0.839/job/mk4l08s295ynkfs5 ``` ====================================================================== ERROR: test_run_submodule_with_absolute_import (IPython.core.tests.test_run.TestMagicRunWithPackage) ---------------------------------------------------------------------- Traceback (most recent call last): File "c:\python36-x64\lib\site-packages\IPython\core\tests\test_run.py", line 455, in test_run_submodule_with_absolute_import self.check_run_submodule('absolute') File "c:\python36-x64\lib\site-packages\IPython\core\tests\test_run.py", line 450, in check_run_submodule self.assertEqual(_ip.user_ns['x'], self.value, KeyError: 'x' -------------------- >> begin captured stdout << --------------------- File "C:\Users\appveyor\AppData\Local\Temp\1\tmp4asmvv33\tmpqpswwe9n\tmp065832886952393e-05\absolute.py", line 2 from tmp065832886952393e-05.sub import x ^ SyntaxError: invalid syntax ``` Actually pick a random string now we should have less chance of being invalid identifier.

File last commit:

r19387:c0ca9867
r23899:f1001769
Show More
payloadpage.py
52 lines | 1.4 KiB | text/x-python | PythonLexer
# 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