##// END OF EJS Templates
more fidgeting before starting over
more fidgeting before starting over

File last commit:

r18960:18cbf5c9
r19290:9a415a25
Show More
widget_output.py
50 lines | 1.5 KiB | text/x-python | PythonLexer
Jonathan Frederic
Output Widget
r18953 """Output class.
Represents a widget that can be used to display output within the widget area.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
from .widget import DOMWidget
import sys
from IPython.utils.traitlets import Unicode, List
from IPython.display import clear_output
Jonathan Frederic
Add doc string to Output widget
r18960 from IPython.testing.skipdoctest import skip_doctest
Jonathan Frederic
Output Widget
r18953
Jonathan Frederic
Add doc string to Output widget
r18960 @skip_doctest
Jonathan Frederic
Output Widget
r18953 class Output(DOMWidget):
Jonathan Frederic
Add doc string to Output widget
r18960 """Widget used as a context manager to display output.
This widget can capture and display stdout, stderr, and rich output. To use
it, create an instance of it and display it. Then use it as a context
manager. Any output produced while in it's context will be captured and
displayed in it instead of the standard output area.
Example
from IPython.html import widgets
from IPython.display import display
out = widgets.Output()
display(out)
print('prints to output area')
with out:
print('prints to output widget')"""
Jonathan Frederic
Output Widget
r18953 _view_name = Unicode('OutputView', sync=True)
def clear_output(self, *pargs, **kwargs):
with self:
clear_output(*pargs, **kwargs)
def __enter__(self):
self._flush()
self.send({'method': 'push'})
def __exit__(self, exception_type, exception_value, traceback):
self._flush()
self.send({'method': 'pop'})
def _flush(self):
sys.stdout.flush()
sys.stderr.flush()