##// END OF EJS Templates
Make set_term_title() default to no-op, as it can cause problems....
Make set_term_title() default to no-op, as it can cause problems. In embedded contexts this can corrupt stdout (e.g. gedit ipython plugin), by default ipython should be 'safe' to use in all contexts. The user-facing terminal app can activate more aggressive configurations as needed. Added an API call to actually toggle the state, and deprecated the old one (which could only disable but not enable).

File last commit:

r1234:52b55407
r1852:37edbe78
Show More
display_formatter.py
70 lines | 1.8 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Objects for replacing sys.displayhook()."""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 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
#-------------------------------------------------------------------------------
class IDisplayFormatter(object):
""" Objects conforming to this interface will be responsible for formatting
representations of objects that pass through sys.displayhook() during an
interactive interpreter session.
"""
# The kind of formatter.
kind = 'display'
# The unique identifier for this formatter.
identifier = None
def __call__(self, obj):
""" Return a formatted representation of an object.
Return None if one cannot return a representation in this format.
"""
raise NotImplementedError
class ReprDisplayFormatter(IDisplayFormatter):
""" Return the repr() string representation of an object.
"""
# The unique identifier for this formatter.
identifier = 'repr'
def __call__(self, obj):
""" Return a formatted representation of an object.
"""
return repr(obj)
class PPrintDisplayFormatter(IDisplayFormatter):
""" Return a pretty-printed string representation of an object.
"""
# The unique identifier for this formatter.
identifier = 'pprint'
def __call__(self, obj):
""" Return a formatted representation of an object.
"""
import pprint
return pprint.pformat(obj)