quitter.py
43 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
Fernando Perez
|
r2370 | # coding: utf-8 | ||
Brian Granger
|
r2227 | """ | ||
A simple class for quitting IPython. | ||||
Fernando Perez
|
r2370 | Authors | ||
------- | ||||
* Fernando Perez | ||||
Brian Granger
|
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 | ||||
#----------------------------------------------------------------------------- | ||||
Fernando Perez
|
r2370 | import sys | ||
Brian Granger
|
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
|
r2370 | def __str__(self): | ||
Brian Granger
|
r2227 | return 'Type %s() to exit.' % self.name | ||
def __call__(self): | ||||
Fernando Perez
|
r2370 | self.shell.ask_exit() | ||
Fernando Perez
|
r2379 | # Repr MUST return a string, else display like pprint hooks get confused | ||
def __repr__(self): | ||||
self.shell.ask_exit() | ||||
return 'Bye.' | ||||