##// END OF EJS Templates
* CallTipWidget and CompletionWidget no longer need to be fed key presses. This means that can be attached to any Q[Plain]TextEdit with zero hassle....
* CallTipWidget and CompletionWidget no longer need to be fed key presses. This means that can be attached to any Q[Plain]TextEdit with zero hassle. * More fixes for bugs introduced by previous ConsoleWidget refactor.

File last commit:

r2611:710f79b2
r2744:e281b2eb
Show More
ktest.py
52 lines | 1.1 KiB | text/x-python | PythonLexer
from Queue import Queue, Empty
import time
from kernelmanager import KernelManager
xreq_addr = ('127.0.0.1',5575)
sub_addr = ('127.0.0.1', 5576)
rep_addr = ('127.0.0.1', 5577)
km = KernelManager(xreq_addr, sub_addr, rep_addr)
# xreq_channel = km.xreq_channel
sub_channel = km.sub_channel
# xreq_channel.start()
sub_channel.start()
print "Channels are started"
def printer(msg):
print
print msg
class CallHandler(object):
def __init__(self):
self.queue = Queue()
def __call__(self, handler, msg):
self.queue.put((handler, msg))
def handle(self):
try:
handler, msg = self.queue.get(block=False)
except Empty:
pass
else:
handler(msg)
call_handler = CallHandler()
sub_channel.override_call_handler(call_handler)
sub_channel.add_handler(printer, 'pyin')
sub_channel.add_handler(printer, 'pyout')
sub_channel.add_handler(printer, 'stdout')
sub_channel.add_handler(printer, 'stderr')
for i in range(100):
call_handler.handle()
time.sleep(1)
# xreq_channel.join()
sub_channel.join()