##// END OF EJS Templates
Merge pull request #892 from minrk/show...
Merge pull request #892 from minrk/show Allow users to configure whether the inline backend closes figures immediately or not. By default, the inline backend closes all rendered figures, which means that calls like gcf() return no output, but it enables users to create new plots each time without having to call figure() manually. This enables users to configure the inline backend to *not* close on render, behaving more like interactive backends (but requiring manual figure() calls to create new figures).

File last commit:

r4899:efa3dcd2
r5123:d2b3a0c6 merge
Show More
warn.py
66 lines | 1.9 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""
Utilities for warnings. Shoudn't we just use the built in warnings module.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import sys
from IPython.utils import io
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
def warn(msg,level=2,exit_val=1):
"""Standard warning printer. Gives formatting consistency.
Output is sent to io.stderr (sys.stderr by default).
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: ']
io.stderr.write('%s%s' % (header[level],msg))
if level == 4:
print >> io.stderr,'Exiting.\n'
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)