##// END OF EJS Templates
Merge pull request #1372 from minrk/reuse-cleanup...
Merge pull request #1372 from minrk/reuse-cleanup ipcontroller cleans up connection files unless reuse=True Connection files are not valid across sessions if reuse is False, but were previously preserved, which could cause engines to try to connect to the wrong ports if the Controller took too long to start and/or write new connection files. Also shuffles signal handling around a bit, so that a clean exit occurs, rather than calling sys.exit directly in the signal handler.

File last commit:

r5390:c82649ea
r6080:c1c517a0 merge
Show More
quitter.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
# coding: utf-8
"""
A simple class for quitting IPython.
Authors
-------
* Fernando Perez
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 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
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
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
def __str__(self):
return 'Type %s() to exit.' % self.name
def __call__(self):
self.shell.ask_exit()
# Repr MUST return a string, else display like pprint hooks get confused
def __repr__(self):
self.shell.ask_exit()
return ''