##// END OF EJS Templates
Avoid loading readline in the kernel...
Avoid loading readline in the kernel This bit of code was loading readline even when there was no need for it. In a Qt console or notebook, try: 'readline' in sys.modules 'gnureadline' in sys.modules I plan to rework this code more extensively once we've switched to prompt_toolkit, but for now, this little fix should make the kernel start slightly faster.

File last commit:

r21081:5104f42c
r21935:826a334f
Show More
warn.py
57 lines | 1.4 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
MinRK
io.Term.cin/out/err replaced by io.stdin/out/err...
r3800 from IPython.utils import io
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
def warn(msg,level=2,exit_val=1):
"""Standard warning printer. Gives formatting consistency.
MinRK
io.Term.cin/out/err replaced by io.stdin/out/err...
r3800 Output is sent to io.stderr (sys.stderr by default).
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."""
if level>0:
header = ['','','WARNING: ','ERROR: ','FATAL ERROR: ']
Thomas Kluyver
Fix IPython.utils.warn API so messages are automatically displayed followed by a newline.
r8223 print(header[level], msg, sep='', file=io.stderr)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 if level == 4:
Matthias BUSSONNIER
use print function in module with `print >>`
r7817 print('Exiting.\n', file=io.stderr)
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 sys.exit(exit_val)
def info(msg):
"""Equivalent to warn(msg,level=1)."""
warn(msg,level=1)
def error(msg):
"""Equivalent to warn(msg,level=3)."""
warn(msg,level=3)
def fatal(msg,exit_val=1):
"""Equivalent to warn(msg,exit_val=exit_val,level=4)."""
warn(msg,exit_val=exit_val,level=4)