##// END OF EJS Templates
Prevent qtconsole frontend freeze on lots of output....
Prevent qtconsole frontend freeze on lots of output. The output from the kernel is now clipped to last `buffer_size` before displaying and a timer is used to flush the pending output text instead of attempting to display text on every stream output from kernel. The timer interval is adjusted based on actual time taken to append a screenful of text to widget. This throttles the widget repaints and avoids choking the Qt event loop leaving time to handle other Qt events. Test cases: In [1]: for i in xrange(1000000): print i In [2]: range(100000) Without this commit the first input causes the qtconsole frontend to freeze, not responding to `Ctrl+C`.

File last commit:

r4574:a8c54759
r11519:c7a90e39
Show More
ipy_gnuglobal.py
35 lines | 867 B | text/x-python | PythonLexer
vivainio
crlf cleanup
r680 """
Add %global magic for GNU Global usage.
http://www.gnu.org/software/global/
"""
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
ip = ipapi.get()
vivainio
crlf cleanup
r680 import os
# alter to your liking
global_bin = 'd:/opt/global/bin/global'
def global_f(self,cmdline):
simple = 0
if '-' not in cmdline:
cmdline = '-rx ' + cmdline
simple = 1
lines = [l.rstrip() for l in os.popen( global_bin + ' ' + cmdline ).readlines()]
if simple:
parts = [l.split(None,3) for l in lines]
lines = ['%s [%s]\n%s' % (p[2].rjust(70),p[1],p[3].rstrip()) for p in parts]
print "\n".join(lines)
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.define_magic('global', global_f)
vivainio
crlf cleanup
r680
def global_completer(self,event):
compl = [l.rstrip() for l in os.popen(global_bin + ' -c ' + event.symbol).readlines()]
return compl
ip.set_hook('complete_command', global_completer, str_key = '%global')