##// END OF EJS Templates
Backport PR #10496: Define `_repr_mimebundle_`...
Backport PR #10496: Define `_repr_mimebundle_` Allows objects to display arbitrary mime-types by returning a mimebundle. This is getting increasingly important as custom mime-types are growing in popularity. - mime-bundle is computed first, but other formatters are still called - if a mime-type is present in repr-mimebundle, `_repr_<mime>_` will not be called (avoids redundant calls for backward-compatible objects) closes 10090 cc rgbkrk Alternative design: rather than single method returning the mimebundle itself, return mime-keyed mapping to callables, e.g.: ```python def _repr_mime_methods_(self): return { 'text/html': self._repr_html_, } ``` Another more minor alternative: rather than allowing return of `data` or `(data, metadata)`, require returning the full mime-bundle with `data`, `metadata` keys: ```python def _repr_mimebundle(self): return { 'data': { 'application/vnd.foo+json': [1,2,3], }, } ```

File last commit:

r22742:a9028681
r23619:abbf312f
Show More
warn.py
65 lines | 1.7 KiB | text/x-python | PythonLexer
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # encoding: utf-8
"""
Utilities for warnings. Shoudn't we just use the built in warnings module.
"""
Min RK
move DeprecatedClass to widgets, where it's used...
r21081 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
Matthias BUSSONNIER
use print function in module with `print >>`
r7817 from __future__ import print_function
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
import sys
Pierre Gerold
Carrefully separate warnings.warn and warn in IPython/utils/warn.py
r22093 import warnings
Pierre Gerold
Deprecated the module IPython.utils.warn
r22091
Matthias Bussonnier
Turn warning into error as marked in the warning message.
r22404 warnings.warn("The module IPython.utils.warn is deprecated since IPython 4.0, use the standard warnings module instead", DeprecationWarning)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
def warn(msg,level=2,exit_val=1):
Matthias Bussonnier
Clenup of documentation buildr
r22623 """Deprecated
Standard warning printer. Gives formatting consistency.
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
Min RK
fix some deprecations...
r22742 Output is sent to sys.stderr.
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
Options:
-level(2): allows finer control:
0 -> Do nothing, dummy function.
1 -> Print message.
2 -> Print 'WARNING:' + message. (Default level).
3 -> Print 'ERROR:' + message.
4 -> Print 'FATAL ERROR:' + message and trigger a sys.exit(exit_val).
-exit_val (1): exit value returned by sys.exit() for a level 4
warning. Ignored for all other levels."""
Pierre Gerold
Deprecated the module IPython.utils.warn
r22091
Matthias Bussonnier
Turn warning into error as marked in the warning message.
r22404 warnings.warn("The module IPython.utils.warn is deprecated since IPython 4.0, use the standard warnings module instead", DeprecationWarning)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 if level>0:
header = ['','','WARNING: ','ERROR: ','FATAL ERROR: ']
Thomas Kluyver
Deprecate io.{stdout,stderr} and shell.{write,write_err}...
r22192 print(header[level], msg, sep='', file=sys.stderr)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 if level == 4:
Thomas Kluyver
Deprecate io.{stdout,stderr} and shell.{write,write_err}...
r22192 print('Exiting.\n', file=sys.stderr)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 sys.exit(exit_val)
def info(msg):
Matthias Bussonnier
Clenup of documentation buildr
r22623 """Deprecated
Equivalent to warn(msg,level=1)."""
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
warn(msg,level=1)
def error(msg):
Matthias Bussonnier
Clenup of documentation buildr
r22623 """Deprecated
Equivalent to warn(msg,level=3)."""
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
warn(msg,level=3)
def fatal(msg,exit_val=1):
Matthias Bussonnier
Clenup of documentation buildr
r22623 """Deprecated
Equivalent to warn(msg,exit_val=exit_val,level=4)."""
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
warn(msg,exit_val=exit_val,level=4)