payload.py
41 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
Brian Granger
|
r2807 | # -*- coding: utf-8 -*- | ||
"""Payload system for IPython. | ||||
Authors: | ||||
* Fernando Perez | ||||
* Brian Granger | ||||
""" | ||||
#----------------------------------------------------------------------------- | ||||
# Copyright (C) 2008-2010 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 | ||||
#----------------------------------------------------------------------------- | ||||
from IPython.config.configurable import Configurable | ||||
Brian Granger
|
r2812 | from IPython.utils.traitlets import List | ||
Brian Granger
|
r2807 | |||
#----------------------------------------------------------------------------- | ||||
# Main payload class | ||||
#----------------------------------------------------------------------------- | ||||
class PayloadManager(Configurable): | ||||
Brian Granger
|
r2812 | _payload = List([]) | ||
Brian Granger
|
r2807 | |||
Brian Granger
|
r2812 | def write_payload(self, data): | ||
if not isinstance(data, dict): | ||||
raise TypeError('Each payload write must be a dict, got: %r' % data) | ||||
Brian Granger
|
r2814 | self._payload.append(data) | ||
Brian Granger
|
r2807 | |||
def read_payload(self): | ||||
return self._payload | ||||
Brian Granger
|
r2814 | |||
def clear_payload(self): | ||||
self._payload = [] | ||||