##// END OF EJS Templates
Merging -r 1177 from lp:ipython with fixes and resolutions....
Merging -r 1177 from lp:ipython with fixes and resolutions. The main conflicts I had to fix were in ultratb. I have removed the ultraTB.py in IPython/kernel/core. Now IPython/core/ultratb.py is being used everywhere. Also I have protected the calls to ipapi.get to see if None is returned. This happens when trial IPython.kernel is run.

File last commit:

r1459:8d08214a
r2124:4a54d9d3 merge
Show More
file_like.py
66 lines | 1.7 KiB | text/x-python | PythonLexer
# encoding: utf-8
""" File like object that redirects its write calls to a given callback."""
__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.
#-------------------------------------------------------------------------------
import sys
class FileLike(object):
""" FileLike object that redirects all write to a callback.
Only the write-related methods are implemented, as well as those
required to read a StringIO.
"""
closed = False
def __init__(self, write_callback):
self.write = write_callback
def flush(self):
""" This method is there for compatibility with other file-like
objects.
"""
pass
def close(self):
""" This method is there for compatibility with other file-like
objects.
"""
pass
def writelines(self, lines):
map(self.write, lines)
def isatty(self):
""" This method is there for compatibility with other file-like
objects.
"""
return False
def getvalue(self):
""" This method is there for compatibility with other file-like
objects.
"""
return ''
def reset(self):
""" This method is there for compatibility with other file-like
objects.
"""
pass
def truncate(self):
""" This method is there for compatibility with other file-like
objects.
"""
pass