Show More
@@ -0,0 +1,3 b'' | |||
|
1 | - The :cellmagic:`capture` magic can now capture the result of a cell (from an | |
|
2 | expression on the last line), as well as printed and displayed output. | |
|
3 | :ghpull:`9851`. |
@@ -293,3 +293,17 b' class DisplayHook(Configurable):' | |||
|
293 | 293 | # IronPython blocks here forever |
|
294 | 294 | if sys.platform != "cli": |
|
295 | 295 | gc.collect() |
|
296 | ||
|
297 | ||
|
298 | class CapturingDisplayHook(object): | |
|
299 | def __init__(self, shell, outputs=None): | |
|
300 | self.shell = shell | |
|
301 | if outputs is None: | |
|
302 | outputs = [] | |
|
303 | self.outputs = outputs | |
|
304 | ||
|
305 | def __call__(self, result=None): | |
|
306 | if result is None: | |
|
307 | return | |
|
308 | format_dict, md_dict = self.shell.display_formatter.format(result) | |
|
309 | self.outputs.append((format_dict, md_dict)) |
@@ -137,6 +137,7 b' class capture_output(object):' | |||
|
137 | 137 | def __enter__(self): |
|
138 | 138 | from IPython.core.getipython import get_ipython |
|
139 | 139 | from IPython.core.displaypub import CapturingDisplayPublisher |
|
140 | from IPython.core.displayhook import CapturingDisplayHook | |
|
140 | 141 | |
|
141 | 142 | self.sys_stdout = sys.stdout |
|
142 | 143 | self.sys_stderr = sys.stderr |
@@ -156,7 +157,9 b' class capture_output(object):' | |||
|
156 | 157 | self.save_display_pub = self.shell.display_pub |
|
157 | 158 | self.shell.display_pub = CapturingDisplayPublisher() |
|
158 | 159 | outputs = self.shell.display_pub.outputs |
|
159 | ||
|
160 | self.save_display_hook = sys.displayhook | |
|
161 | sys.displayhook = CapturingDisplayHook(shell=self.shell, | |
|
162 | outputs=outputs) | |
|
160 | 163 | |
|
161 | 164 | return CapturedIO(stdout, stderr, outputs) |
|
162 | 165 | |
@@ -165,5 +168,6 b' class capture_output(object):' | |||
|
165 | 168 | sys.stderr = self.sys_stderr |
|
166 | 169 | if self.display and self.shell: |
|
167 | 170 | self.shell.display_pub = self.save_display_pub |
|
171 | sys.displayhook = self.save_display_hook | |
|
168 | 172 | |
|
169 | 173 |
General Comments 0
You need to be logged in to leave comments.
Login now