##// END OF EJS Templates
Lots of work on exception handling, including tests for traceback printing....
Lots of work on exception handling, including tests for traceback printing. We finally have some tests for various exception mode printing, via doctests that exercise all three modes! Also changed handling of sys.exit(X) to only print the summary message, as SystemExit is most often a 'handled' exception. It can still be 100% silenced via '%run -e', but now it's much less intrusive. Added a new %tb magic to print the last available traceback with the current xmode. One can then re-print the last traceback with more detail if desired, without having to cause it again.

File last commit:

r2206:5496710c
r2440:0caaf43a
Show More
Shell.py
42 lines | 1.4 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# encoding: utf-8
"""
A backwards compatibility layer for IPython.Shell.
Previously, IPython had an IPython.Shell module. IPython.Shell has been moved
to IPython.core.shell and is being refactored. This new module is provided
for backwards compatability. We strongly encourage everyone to start using
the new code in IPython.core.shell.
"""
#-----------------------------------------------------------------------------
# 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.
#-----------------------------------------------------------------------------
from warnings import warn
msg = """
This module (IPython.Shell) is deprecated. The classes that were in this
module have been replaced by:
IPShell->IPython.core.iplib.InteractiveShell
IPShellEmbed->IPython.core.embed.InteractiveShellEmbed
Please migrate your code to use these classes instead.
"""
warn(msg, category=DeprecationWarning, stacklevel=1)
from IPython.core.iplib import InteractiveShell as IPShell
from IPython.core.embed import InteractiveShellEmbed as IPShellEmbed
def start(user_ns=None, embedded=False):
"""Return an instance of :class:`InteractiveShell`."""
if embedded:
return InteractiveShellEmbed(user_ns=user_ns)
else:
return InteractiveShell(user_ns=user_ns)