##// END OF EJS Templates
More work to address review comments....
More work to address review comments. * Moved twisted import to top-level of :mod:`IPython.kernel.error` (r1333). * Added docstring about :meth:`InteractiveShell.load_extension` returning whatever the return value of :func:`load_ipython_extension` is. * Renamed the :attr:`user_config_ns` attribute to :attr:`user_ns_hidden` to better reflect what it does. * Moved the ``%HOME`` to the end of home directory options attemped in :func:`IPython.utils.path.get_home_dir` on Windows.

File last commit:

r2498:3eae1372
r2509:70d27296
Show More
quitter.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
Fernando Perez
Fix quitting: now, typing bare 'exit' or 'quit' unconditionally quits....
r2370 # coding: utf-8
Brian Granger
Created context manager for the things injected into __builtin__.
r2227 """
A simple class for quitting IPython.
Fernando Perez
Fix quitting: now, typing bare 'exit' or 'quit' unconditionally quits....
r2370 Authors
-------
* Fernando Perez
Brian Granger
Created context manager for the things injected into __builtin__.
r2227 * Brian Granger
"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
Brian Granger
Work to address the review comments on Fernando's branch....
r2498
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Brian Granger
Created context manager for the things injected into __builtin__.
r2227
class Quitter(object):
"""Simple class to handle exit, similar to Python 2.5's.
It handles exiting in an ipython-safe manner, which the one in Python 2.5
doesn't do (obviously, since it doesn't know about ipython)."""
def __init__(self, shell, name):
self.shell = shell
self.name = name
Fernando Perez
Fix quitting: now, typing bare 'exit' or 'quit' unconditionally quits....
r2370 def __str__(self):
Brian Granger
Created context manager for the things injected into __builtin__.
r2227 return 'Type %s() to exit.' % self.name
def __call__(self):
Fernando Perez
Fix quitting: now, typing bare 'exit' or 'quit' unconditionally quits....
r2370 self.shell.ask_exit()
Fernando Perez
Minor fix to exit/quit
r2379 # Repr MUST return a string, else display like pprint hooks get confused
def __repr__(self):
self.shell.ask_exit()
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 return ''