##// END OF EJS Templates
Merge branch 'newkernel' of git://github.com/ellisonbg/ipython into qtfrontend...
Merge branch 'newkernel' of git://github.com/ellisonbg/ipython into qtfrontend Conflicts: IPython/zmq/pykernel.py

File last commit:

r2775:c291d5fa
r2777:9b98ba4e merge
Show More
zmqshell.py
31 lines | 1.1 KiB | text/x-python | PythonLexer
import sys
from subprocess import Popen, PIPE
from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC
class ZMQInteractiveShell(InteractiveShell):
"""A subclass of InteractiveShell for ZMQ."""
def system(self, cmd):
cmd = self.var_expand(cmd, depth=2)
sys.stdout.flush()
sys.stderr.flush()
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
for line in p.stdout.read().split('\n'):
if len(line) > 0:
print line
for line in p.stderr.read().split('\n'):
if len(line) > 0:
print line
return p.wait()
def init_io(self):
# This will just use sys.stdout and sys.stderr. If you want to
# override sys.stdout and sys.stderr themselves, you need to do that
# *before* instantiating this class, because Term holds onto
# references to the underlying streams.
import IPython.utils.io
Term = IPython.utils.io.IOTerm()
IPython.utils.io.Term = Term
InteractiveShellABC.register(ZMQInteractiveShell)