def lineReceived(line): global count, prompting count += 1 print("Got line: %s" % line) if count > maxlines: prompting = False readline.callback_handler_remove() else: readline.callback_handler_install('Got %s of %s, more typing please:' % (count, maxlines) + os.linesep, lineReceived)
def main(): readline.callback_handler_install('Starting test, please do type:' + os.linesep, lineReceived) index = 0 start = int(time.time()) while prompting: # demonstrate that async stuff is possible: if start + index < time.time(): rl.console.title("NON-BLOCKING: %d" % index) index += 1 # ugly busy waiting/polling on windows, using 'select' on Unix: (or use twisted) if msvcrt.kbhit(): readline.callback_read_char() print("Done, index =", index)