From fe6de313e7dd30fce55a63921efd1caa99d104d4 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 31 Jul 2014 06:11:17 -0500 Subject: [PATCH] Fix handling of exitcode, name of "payload" key, add stub for shutdown. --- bash_kernel.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/bash_kernel.py b/bash_kernel.py index 00cc795..3e9c491 100644 --- a/bash_kernel.py +++ b/bash_kernel.py @@ -1,5 +1,6 @@ from IPython.kernel.zmq.kernelbase import Kernel from pexpect import replwrap +import pexpect import signal from subprocess import check_output @@ -41,7 +42,7 @@ class BashKernel(Kernel): allow_stdin=False): if not code.strip(): return {'status': 'ok', 'execution_count': self.execution_count, - 'payloads': [], 'user_expressions': {}} + 'payload': [], 'user_expressions': {}} interrupted = False try: @@ -51,16 +52,19 @@ class BashKernel(Kernel): interrupted = True self.bashwrapper._expect_prompt() output = self.bashwrapper.child.before + except pexpect.EOF: + # TODO: how do we shut down gracefully here? + output = '' if not silent: - stream_content = {'name': 'stdout', 'data':output} + stream_content = {'name': 'stdout', 'data': output} self.send_response(self.iopub_socket, 'stream', stream_content) if interrupted: return {'status': 'abort', 'execution_count': self.execution_count} try: - exitcode = int(self.run_command('echo $?').rstrip()) + exitcode = int(self.bashwrapper.run_command('echo $?').rstrip()) except Exception: exitcode = 1 @@ -69,7 +73,7 @@ class BashKernel(Kernel): 'ename': '', 'evalue': str(exitcode), 'traceback': []} else: return {'status': 'ok', 'execution_count': self.execution_count, - 'payloads': [], 'user_expressions': {}} + 'payload': [], 'user_expressions': {}} if __name__ == '__main__': from IPython.kernel.zmq.kernelapp import IPKernelApp