##// END OF EJS Templates
Add flushing to stdout/stderr in system calls.
Add flushing to stdout/stderr in system calls.

File last commit:

r2774:08ea2c25
r2774:08ea2c25
Show More
zmqshell.py
22 lines | 697 B | 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()
InteractiveShellABC.register(ZMQInteractiveShell)