def readline(self, prompt=''): if self.first_prompt: self.first_prompt = False if self.startup_hook: try: self.startup_hook() except: print 'startup hook failed' traceback.print_exc() c = self.console self.l_buffer.reset_line() self.prompt = prompt self._print_prompt() if self.pre_input_hook: try: self.pre_input_hook() except: print 'pre_input_hook failed' traceback.print_exc() self.pre_input_hook = None log('in readline: %s' % self.paste_line_buffer) if len(self.paste_line_buffer) > 0: self.l_buffer = lineobj.ReadlineTextBuffer( self.paste_line_buffer[0]) self._update_line() self.paste_line_buffer = self.paste_line_buffer[1:] c.write('\r\n') else: self._readline_from_keyboard() c.write('\r\n') self.add_history(self.l_buffer.copy()) log('returning(%s)' % self.l_buffer.get_line_text()) return self.l_buffer.get_line_text() + '\n'
def readline(self, prompt=""): """Prompt the user for a line of text. Clear the console as necessary, redraw according to user actions and report exceptions as they're raised. """ # handle startup_hook if self.first_prompt: self.first_prompt = False if self.startup_hook: try: self.startup_hook() except: print("startup hook failed") traceback.print_exc() c = self.console self.l_buffer.reset_line() self.prompt = prompt self._print_prompt() if self.pre_input_hook: try: self.pre_input_hook() except: print("pre_input_hook failed") traceback.print_exc() self.pre_input_hook = None log("in readline: %s" % self.paste_line_buffer) if len(self.paste_line_buffer) > 0: self.l_buffer = lineobj.ReadlineTextBuffer( self.paste_line_buffer[0]) self._update_line() self.paste_line_buffer = self.paste_line_buffer[1:] c.write("\r\n") else: self._readline_from_keyboard() c.write("\r\n") self.add_history(self.l_buffer.copy()) log("returning(%s)" % self.l_buffer.get_line_text()) return self.l_buffer.get_line_text() + "\n"
def readline(self, prompt=""): """Try to act like GNU readline.""" # handle startup_hook if self.first_prompt: self.first_prompt = False if self.startup_hook: try: self.startup_hook() except: print "startup hook failed" traceback.print_exc() c = self.console self.l_buffer.reset_line() self.prompt = prompt self._print_prompt() if self.pre_input_hook: try: self.pre_input_hook() except: print "pre_input_hook failed" traceback.print_exc() self.pre_input_hook = None log("in readline: %s" % self.paste_line_buffer) if len(self.paste_line_buffer) > 0: self.l_buffer = lineobj.ReadlineTextBuffer( self.paste_line_buffer[0]) self._update_line() self.paste_line_buffer = self.paste_line_buffer[1:] c.write("\r\n") else: self._readline_from_keyboard() c.write("\r\n") self.add_history(self.l_buffer.copy()) log("returning(%s)" % self.l_buffer.get_line_text()) return self.l_buffer.get_line_text() + "\n"