##// END OF EJS Templates
Add transformers to understand code pasted with >>> or IPython prompts....
Add transformers to understand code pasted with >>> or IPython prompts. Now the following all work out of the box: In [8]: In [6]: for i in range(5): ...: ...: print i, ...: ...: ...: 0 1 2 3 4 In [10]: >>> width = 20 In [11]: >>> height = 5*9 In [12]: >>> width * height Out[12]: 900 And the history is still clean: In [13]: %hist -n [snipped] for i in range(5): print i, get_ipython().magic("hist -n") width = 20 height = 5*9 width * height This will be extremely useful when copy/pasting from interactive tutorials, doctests and examples. Also fixes %doctest_mode: https://bugs.launchpad.net/ipython/+bug/505404

File last commit:

r1960:51f38f50
r2426:61e33e8e
Show More
test_contexts.py
46 lines | 1.1 KiB | text/x-python | PythonLexer
# Tell nose to skip this module
__test__ = {}
#from __future__ import with_statement
# XXX This file is currently disabled to preserve 2.4 compatibility.
#def test_simple():
if 0:
# XXX - for now, we need a running cluster to be started separately. The
# daemon work is almost finished, and will make much of this unnecessary.
from IPython.kernel import client
mec = client.MultiEngineClient(('127.0.0.1',10105))
try:
mec.get_ids()
except ConnectionRefusedError:
import os, time
os.system('ipcluster -n 2 &')
time.sleep(2)
mec = client.MultiEngineClient(('127.0.0.1',10105))
mec.block = False
import itertools
c = itertools.count()
parallel = RemoteMultiEngine(mec)
mec.pushAll()
## with parallel as pr:
## # A comment
## remote() # this means the code below only runs remotely
## print 'Hello remote world'
## x = range(10)
## # Comments are OK
## # Even misindented.
## y = x+1
## with pfor('i',sequence) as pr:
## print x[i]
print pr.x + pr.y