diff options
Diffstat (limited to 'Mailman/interact.py')
| -rw-r--r-- | Mailman/interact.py | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/Mailman/interact.py b/Mailman/interact.py deleted file mode 100644 index da1a6c10e..000000000 --- a/Mailman/interact.py +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright (C) 2006-2008 by the Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -# USA. - -"""Provide an interactive prompt, mimicking the Python interpreter.""" - -import os -import sys -import code - -DEFAULT_BANNER = object() - - - -def interact(upframe=True, banner=DEFAULT_BANNER, overrides=None): - # The interactive prompt's namespace - ns = dict() - # If uplocals is true, also populate the console's locals with the locals - # of the frame that called this function (i.e. one up from here). - if upframe: - frame = sys._getframe(1) - ns.update(frame.f_globals) - ns.update(frame.f_locals) - if overrides is not None: - ns.update(overrides) - interp = code.InteractiveConsole(ns) - # Try to import the readline module, but don't worry if it's unavailable - try: - import readline - except ImportError: - pass - # Mimic the real interactive interpreter's loading of any $PYTHONSTARTUP - # file. Note that if the startup file is not prepared to be exec'd more - # than once, this could cause a problem. - startup = os.environ.get('PYTHONSTARTUP') - if startup: - try: - execfile(startup, ns) - except: - pass - # We don't want the funky console object in parentheses in the banner. - if banner is DEFAULT_BANNER: - banner = '''\ -Python %s on %s -Type "help", "copyright", "credits" or "license" for more information.''' % ( - sys.version, sys.platform) - elif not banner: - banner = None - interp.interact(banner) - # When an exception occurs in the InteractiveConsole, the various - # sys.exc_* attributes get set so that error handling works the same way - # there as it does in the built-in interpreter. Be anal about clearing - # any exception information before we're done. - sys.exc_clear() - sys.last_type = sys.last_value = sys.last_traceback = None |
