Show More
@@ -166,6 +166,10 b' class ExecutionResult(object):' | |||
|
166 | 166 | if self.error_in_exec is not None: |
|
167 | 167 | raise self.error_in_exec |
|
168 | 168 | |
|
169 | def __repr__(self): | |
|
170 | return '<%s object at %x, execution_count=%s error_before_exec=%s error_in_exec=%s result=%s>' %\ | |
|
171 | (self.__class__.__qualname__, id(self), self.execution_count, self.error_before_exec, self.error_in_exec, repr(self.result)) | |
|
172 | ||
|
169 | 173 | |
|
170 | 174 | class InteractiveShell(SingletonConfigurable): |
|
171 | 175 | """An enhanced, interactive shell for Python.""" |
@@ -434,6 +438,8 b' class InteractiveShell(SingletonConfigurable):' | |||
|
434 | 438 | # Tracks any GUI loop loaded for pylab |
|
435 | 439 | pylab_gui_select = None |
|
436 | 440 | |
|
441 | last_execution_succeeded = Bool(True, help='Did last executed command succeeded') | |
|
442 | ||
|
437 | 443 | def __init__(self, ipython_dir=None, profile_dir=None, |
|
438 | 444 | user_module=None, user_ns=None, |
|
439 | 445 | custom_exceptions=((), None), **kwargs): |
@@ -2607,6 +2613,7 b' class InteractiveShell(SingletonConfigurable):' | |||
|
2607 | 2613 | result = ExecutionResult() |
|
2608 | 2614 | |
|
2609 | 2615 | if (not raw_cell) or raw_cell.isspace(): |
|
2616 | self.last_execution_succeeded = True | |
|
2610 | 2617 | return result |
|
2611 | 2618 | |
|
2612 | 2619 | if silent: |
@@ -2617,6 +2624,7 b' class InteractiveShell(SingletonConfigurable):' | |||
|
2617 | 2624 | |
|
2618 | 2625 | def error_before_exec(value): |
|
2619 | 2626 | result.error_before_exec = value |
|
2627 | self.last_execution_succeeded = False | |
|
2620 | 2628 | return result |
|
2621 | 2629 | |
|
2622 | 2630 | self.events.trigger('pre_execute') |
@@ -2703,8 +2711,10 b' class InteractiveShell(SingletonConfigurable):' | |||
|
2703 | 2711 | |
|
2704 | 2712 | # Execute the user code |
|
2705 | 2713 | interactivity = "none" if silent else self.ast_node_interactivity |
|
2706 | self.run_ast_nodes(code_ast.body, cell_name, | |
|
2714 | has_raised = self.run_ast_nodes(code_ast.body, cell_name, | |
|
2707 | 2715 | interactivity=interactivity, compiler=compiler, result=result) |
|
2716 | ||
|
2717 | self.last_execution_succeeded = not has_raised | |
|
2708 | 2718 | |
|
2709 | 2719 | # Reset this so later displayed values do not modify the |
|
2710 | 2720 | # ExecutionResult |
General Comments 0
You need to be logged in to leave comments.
Login now