##// END OF EJS Templates
add Edit Notebook Metadata to Edit menu
add Edit Notebook Metadata to Edit menu

File last commit:

r9190:20a102a5
r12913:46dd2590
Show More
directview.py
68 lines | 1.8 KiB | text/x-python | PythonLexer
"""Widget for interacting with an IPython parallel engine.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2012 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
#-----------------------------------------------------------------------------
import os
import uuid
from IPython.core.display import display, Javascript
from IPython.core.displaypub import publish_pretty
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
import os, sys
from IPython.core.display import Javascript
from widget import JavascriptWidget
class DirectViewWidget(JavascriptWidget):
def __init__(self, dv):
self.dv = dv
self.targets = self.dv.targets
super(DirectViewWidget,self).__init__()
def render(self):
fname = os.path.join(os.path.dirname(__file__), u'directview.js')
with open(fname, 'r') as f:
jscode = f.read()
data = {
'widget_var': self.widget_var,
'targets' : self.encode_json(self.targets)
}
jscode = jscode % data
return jscode
def execute(self, code, targets='all'):
if targets == 'all':
targets = self.targets
result = self.dv.execute(code,silent=False,block=False,targets=targets)
result.wait()
result.display_outputs()
def interact(dv):
w = DirectViewWidget(dv)
w.interact()
return w