##// END OF EJS Templates
Temporarily disabling the ipdoctest nose plugin....
Temporarily disabling the ipdoctest nose plugin. This plugin was causing problems with Twisted. We need to go through the plugin to find the source of the problem. For now, our test suite passes though.

File last commit:

r1234:52b55407
r1888:3b62eea5
Show More
message_cache.py
98 lines | 2.5 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Storage for the responses from the interpreter."""
__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 IMessageCache(object):
""" Storage for the response from the interpreter.
"""
def add_message(self, i, message):
""" Add a message dictionary to the cache.
Parameters
----------
i : int
message : dict
"""
def get_message(self, i=None):
""" Get the message from the cache.
Parameters
----------
i : int, optional
The number of the message. If not provided, return the
highest-numbered message.
Returns
-------
message : dict
Raises
------
IndexError if the message does not exist in the cache.
"""
class SimpleMessageCache(object):
""" Simple dictionary-based, in-memory storage of the responses from the
interpreter.
"""
def __init__(self):
self.cache = {}
def add_message(self, i, message):
""" Add a message dictionary to the cache.
Parameters
----------
i : int
message : dict
"""
self.cache[i] = message
def get_message(self, i=None):
""" Get the message from the cache.
Parameters
----------
i : int, optional
The number of the message. If not provided, return the
highest-numbered message.
Returns
-------
message : dict
Raises
------
IndexError if the message does not exist in the cache.
"""
if i is None:
keys = self.cache.keys()
if len(keys) == 0:
raise IndexError("index %r out of range" % i)
else:
i = max(self.cache.keys())
try:
return self.cache[i]
except KeyError:
# IndexError is more appropriate, here.
raise IndexError("index %r out of range" % i)