##// END OF EJS Templates
new completer for qtconsole....
new completer for qtconsole. add a completer to the qtconsole that is navigable by arraow keys and tab. One need to call it twice to get it on focus and be able to select completion with Return. looks like zsh completer, not the gui drop down list of --gui-completer. This also try to split the completion logic from console_widget, and try to keep the old completer qui around. The plain completer that never takes focus back, and the QlistWidget completer. to switch between the 3, the --gui-completion flag as been changed to take an argument (plain, droplist, ncurses).

File last commit:

r4574:a8c54759
r7389:1422d277
Show More
win32support.py
72 lines | 2.1 KiB | text/x-python | PythonLexer
MinRK
forward subprocess IO over zmq on Windows...
r3771 """Utility for forwarding file read events over a zmq socket.
MinRK
code updates per review of PR #454
r4021 This is necessary because select on Windows only supports sockets, not FDs.
MinRK
update recently changed modules with Authors in docstring
r4018
Authors:
* MinRK
"""
MinRK
forward subprocess IO over zmq on Windows...
r3771
#-----------------------------------------------------------------------------
# Copyright (C) 2011 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 uuid
import zmq
from threading import Thread
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
class ForwarderThread(Thread):
def __init__(self, sock, fd):
Thread.__init__(self)
self.daemon=True
self.sock = sock
self.fd = fd
def run(self):
MinRK
code updates per review of PR #454
r4021 """Loop through lines in self.fd, and send them over self.sock."""
MinRK
forward subprocess IO over zmq on Windows...
r3771 line = self.fd.readline()
# allow for files opened in unicode mode
if isinstance(line, unicode):
send = self.sock.send_unicode
else:
send = self.sock.send
while line:
send(line)
line = self.fd.readline()
# line == '' means EOF
self.fd.close()
self.sock.close()
def forward_read_events(fd, context=None):
MinRK
code updates per review of PR #454
r4021 """Forward read events from an FD over a socket.
MinRK
forward subprocess IO over zmq on Windows...
r3771
This method wraps a file in a socket pair, so it can
be polled for read events by select (specifically zmq.eventloop.ioloop)
"""
if context is None:
context = zmq.Context.instance()
push = context.socket(zmq.PUSH)
push.setsockopt(zmq.LINGER, -1)
pull = context.socket(zmq.PULL)
addr='inproc://%s'%uuid.uuid4()
push.bind(addr)
pull.connect(addr)
forwarder = ForwarderThread(push, fd)
forwarder.start()
return pull
MinRK
code updates per review of PR #454
r4021 __all__ = ['forward_read_events']