Show More
@@ -530,8 +530,9 b' class Kernel(Configurable):' | |||||
530 | return |
|
530 | return | |
531 |
|
531 | |||
532 | # Set the parent message of the display hook and out streams. |
|
532 | # Set the parent message of the display hook and out streams. | |
533 | self.shell.displayhook.set_parent(parent) |
|
533 | shell = self.shell | |
534 |
|
|
534 | shell.displayhook.set_parent(parent) | |
|
535 | shell.display_pub.set_parent(parent) | |||
535 | sys.stdout.set_parent(parent) |
|
536 | sys.stdout.set_parent(parent) | |
536 | sys.stderr.set_parent(parent) |
|
537 | sys.stderr.set_parent(parent) | |
537 |
|
538 | |||
@@ -540,7 +541,7 b' class Kernel(Configurable):' | |||||
540 | # self.session.send(self.iopub_socket, u'pyin', {u'code':code},parent=parent) |
|
541 | # self.session.send(self.iopub_socket, u'pyin', {u'code':code},parent=parent) | |
541 | sub = self._make_subheader() |
|
542 | sub = self._make_subheader() | |
542 | try: |
|
543 | try: | |
543 |
working = |
|
544 | working = shell.user_ns | |
544 |
|
545 | |||
545 | prefix = "_"+str(msg_id).replace("-","")+"_" |
|
546 | prefix = "_"+str(msg_id).replace("-","")+"_" | |
546 |
|
547 | |||
@@ -558,7 +559,7 b' class Kernel(Configurable):' | |||||
558 | working.update(ns) |
|
559 | working.update(ns) | |
559 | code = "%s = %s(*%s,**%s)" % (resultname, fname, argname, kwargname) |
|
560 | code = "%s = %s(*%s,**%s)" % (resultname, fname, argname, kwargname) | |
560 | try: |
|
561 | try: | |
561 |
exec code in |
|
562 | exec code in shell.user_global_ns, shell.user_ns | |
562 | result = working.get(resultname) |
|
563 | result = working.get(resultname) | |
563 | finally: |
|
564 | finally: | |
564 | for key in ns.iterkeys(): |
|
565 | for key in ns.iterkeys(): | |
@@ -567,14 +568,23 b' class Kernel(Configurable):' | |||||
567 | packed_result,buf = serialize_object(result) |
|
568 | packed_result,buf = serialize_object(result) | |
568 | result_buf = [packed_result]+buf |
|
569 | result_buf = [packed_result]+buf | |
569 | except: |
|
570 | except: | |
570 | exc_content = self._wrap_exception('apply') |
|
571 | # invoke IPython traceback formatting | |
571 | # exc_msg = self.session.msg(u'pyerr', exc_content, parent) |
|
572 | shell.showtraceback() | |
572 | self.session.send(self.iopub_socket, u'pyerr', exc_content, parent=parent, |
|
573 | # FIXME - fish exception info out of shell, possibly left there by | |
|
574 | # run_code. We'll need to clean up this logic later. | |||
|
575 | reply_content = {} | |||
|
576 | if shell._reply_content is not None: | |||
|
577 | reply_content.update(shell._reply_content) | |||
|
578 | e_info = dict(engine_uuid=self.ident, engine_id=self.int_id, method='apply') | |||
|
579 | reply_content['engine_info'] = e_info | |||
|
580 | # reset after use | |||
|
581 | shell._reply_content = None | |||
|
582 | ||||
|
583 | self.session.send(self.iopub_socket, u'pyerr', reply_content, parent=parent, | |||
573 | ident=self._topic('pyerr')) |
|
584 | ident=self._topic('pyerr')) | |
574 | reply_content = exc_content |
|
|||
575 | result_buf = [] |
|
585 | result_buf = [] | |
576 |
|
586 | |||
577 |
if |
|
587 | if reply_content['ename'] == 'UnmetDependency': | |
578 | sub['dependencies_met'] = False |
|
588 | sub['dependencies_met'] = False | |
579 | else: |
|
589 | else: | |
580 | reply_content = {'status' : 'ok'} |
|
590 | reply_content = {'status' : 'ok'} |
General Comments 0
You need to be logged in to leave comments.
Login now