Python readline.get_history_item() Examples
The following are 18
code examples of readline.get_history_item().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
readline
, or try the search function
.
Example #1
Source File: test_readline.py From android_universal with MIT License | 6 votes |
def test_nonascii_history(self): readline.clear_history() try: readline.add_history("entrée 1") except UnicodeEncodeError as err: self.skipTest("Locale cannot encode test data: " + format(err)) readline.add_history("entrée 2") readline.replace_history_item(1, "entrée 22") readline.write_history_file(TESTFN) self.addCleanup(os.remove, TESTFN) readline.clear_history() readline.read_history_file(TESTFN) if is_editline: # An add_history() call seems to be required for get_history_ # item() to register items from the file readline.add_history("dummy") self.assertEqual(readline.get_history_item(1), "entrée 1") self.assertEqual(readline.get_history_item(2), "entrée 22")
Example #2
Source File: test_readline.py From android_universal with MIT License | 6 votes |
def testHistoryUpdates(self): readline.clear_history() readline.add_history("first line") readline.add_history("second line") self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") readline.replace_history_item(0, "replaced line") self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "replaced line") self.assertEqual(readline.get_history_item(2), "second line") self.assertEqual(readline.get_current_history_length(), 2) readline.remove_history_item(0) self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "second line") self.assertEqual(readline.get_current_history_length(), 1)
Example #3
Source File: __init__.py From phpsploit with GNU General Public License v3.0 | 6 votes |
def _history_update(self, array=None): if array is None: array = [] try: import readline # add array elements to readline history for command in array: readline.add_history(command) # recreate Hist from readline history (UGLY) self.Hist.clear() history_len = readline.get_current_history_length() for i in range(1, history_len + 1): line = readline.get_history_item(i) self.Hist.append(line) except ImportError: pass # By default, hist max size is 20% of CACHE_SIZE max_size = int(self.Conf["CACHE_SIZE"]() * 0.2) # Settle Hist object to its max size while self.Hist.size > max_size: self.Hist.pop(0)
Example #4
Source File: StdinCache.py From ufora with Apache License 2.0 | 6 votes |
def refreshFromReadline(self): """Consume as much content as possible from the line buffer. Returns self, so that we can chain calls to this function and 'getlines'. """ newLines = [] #for some reason, this import segfaults if we do it as part of our routine #setup in the test harness. Putting the import here ensures we only #import it when we are actively using it (e.g. there is a terminal connected #to stdin) import readline while len(self.lines) + len(newLines) < readline.get_current_history_length(): newLines.append(readline.get_history_item(len(self.lines) + len(newLines) + 1) + "\n") self.lines += newLines for block in self.divideIntoBlocks(newLines): self.addBlock(block) return self
Example #5
Source File: test_readline.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_nonascii_history(self): readline.clear_history() try: readline.add_history("entrée 1") except UnicodeEncodeError as err: self.skipTest("Locale cannot encode test data: " + format(err)) readline.add_history("entrée 2") readline.replace_history_item(1, "entrée 22") readline.write_history_file(TESTFN) self.addCleanup(os.remove, TESTFN) readline.clear_history() readline.read_history_file(TESTFN) if is_editline: # An add_history() call seems to be required for get_history_ # item() to register items from the file readline.add_history("dummy") self.assertEqual(readline.get_history_item(1), "entrée 1") self.assertEqual(readline.get_history_item(2), "entrée 22")
Example #6
Source File: test_readline.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def testHistoryUpdates(self): readline.clear_history() readline.add_history("first line") readline.add_history("second line") self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") readline.replace_history_item(0, "replaced line") self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "replaced line") self.assertEqual(readline.get_history_item(2), "second line") self.assertEqual(readline.get_current_history_length(), 2) readline.remove_history_item(0) self.assertEqual(readline.get_history_item(0), None) self.assertEqual(readline.get_history_item(1), "second line") self.assertEqual(readline.get_current_history_length(), 1)
Example #7
Source File: spinel-cli.py From pyspinel with Apache License 2.0 | 5 votes |
def do_history(self, _line): """ history Show previously executed commands. """ try: import readline hist = readline.get_current_history_length() for idx in range(1, hist + 1): self.log(readline.get_history_item(idx)) except ImportError: pass
Example #8
Source File: test_readline.py From android_universal with MIT License | 5 votes |
def test_write_read_append(self): hfile = tempfile.NamedTemporaryFile(delete=False) hfile.close() hfilename = hfile.name self.addCleanup(unlink, hfilename) # test write-clear-read == nop readline.clear_history() readline.add_history("first line") readline.add_history("second line") readline.write_history_file(hfilename) readline.clear_history() self.assertEqual(readline.get_current_history_length(), 0) readline.read_history_file(hfilename) self.assertEqual(readline.get_current_history_length(), 2) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") # test append readline.append_history_file(1, hfilename) readline.clear_history() readline.read_history_file(hfilename) self.assertEqual(readline.get_current_history_length(), 3) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") self.assertEqual(readline.get_history_item(3), "second line") # test 'no such file' behaviour os.unlink(hfilename) with self.assertRaises(FileNotFoundError): readline.append_history_file(1, hfilename) # write_history_file can create the target readline.write_history_file(hfilename)
Example #9
Source File: interactive.py From rainbowstream with MIT License | 5 votes |
def get_history_items(): """ Get all history item """ return [ readline.get_history_item(i) for i in xrange(1, readline.get_current_history_length() + 1) ]
Example #10
Source File: test_readline.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_write_read_append(self): hfile = tempfile.NamedTemporaryFile(delete=False) hfile.close() hfilename = hfile.name self.addCleanup(unlink, hfilename) # test write-clear-read == nop readline.clear_history() readline.add_history("first line") readline.add_history("second line") readline.write_history_file(hfilename) readline.clear_history() self.assertEqual(readline.get_current_history_length(), 0) readline.read_history_file(hfilename) self.assertEqual(readline.get_current_history_length(), 2) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") # test append readline.append_history_file(1, hfilename) readline.clear_history() readline.read_history_file(hfilename) self.assertEqual(readline.get_current_history_length(), 3) self.assertEqual(readline.get_history_item(1), "first line") self.assertEqual(readline.get_history_item(2), "second line") self.assertEqual(readline.get_history_item(3), "second line") # test 'no such file' behaviour os.unlink(hfilename) with self.assertRaises(FileNotFoundError): readline.append_history_file(1, hfilename) # write_history_file can create the target readline.write_history_file(hfilename)
Example #11
Source File: pysession.py From pysession with MIT License | 5 votes |
def process_history(): """Processes python shell history to an array of code lines""" end_index = len(PySession.ipython_history) - 1 if PySession.is_ipython \ else readline.get_current_history_length() lines_of_code = [] for i in range(PySession.start_index, end_index): if i in PySession.wrong_code_lines: continue if PySession.is_ipython: line = PySession.ipython_history[i] else: line = readline.get_history_item(i) # remove 'exit' and PySession keywords from code if line.strip() in ['PySession.local()', 'PySession.gist()', 'PySession.off()', 'exit', 'exit()']: continue lines_of_code.append(line) if len( lines_of_code) > 0 and lines_of_code[-1] != '\n': # adding extra last newline lines_of_code.append('\n') return lines_of_code
Example #12
Source File: console.py From plasma with GNU General Public License v3.0 | 5 votes |
def get_history(self): hist = [] for i in range(readline.get_current_history_length()): hist.append(readline.get_history_item(i + 1)) return hist
Example #13
Source File: main.py From kitty with GNU General Public License v3.0 | 5 votes |
def get_history_items() -> List[str]: return list(map(readline.get_history_item, range(1, readline.get_current_history_length() + 1)))
Example #14
Source File: etfconsole.py From EvilTwinFramework with GNU General Public License v2.0 | 5 votes |
def postcmd(self, stop, line): complete_line = readline.get_history_item(readline.get_current_history_length()) if complete_line.strip() != "": SessionManager().log_command(complete_line)
Example #15
Source File: history.py From sdb with Apache License 2.0 | 5 votes |
def _call(self, objs: Iterable[drgn.Object]) -> None: stop = readline.get_current_history_length() + 1 if self.args.count is not None: start = stop - self.args.count else: start = 1 for i in range(start, stop): print(f"{i:5} {readline.get_history_item(i)}")
Example #16
Source File: interface.py From phpsploit with GNU General Public License v3.0 | 5 votes |
def do_history(self, argv): """Command line history SYNOPSIS: history [<COUNT>] DESCRIPTION: Returns a formatted string giving the event number and contents for each of the events in the history list except for current event. If [COUNT] is specified, only the [COUNT] most recent events are displayed. > history - Display the full history of events. > history 10 - Display last 10 commands of the history. """ import readline argv.append('9999999999') try: count = int(argv[1]) except ValueError: return self.interpret("help history") last = readline.get_current_history_length() while last > session.Hist.MAX_SIZE: readline.remove_history_item(0) last -= 1 first = last - count if first < 1: first = 1 for i in range(first, last): cmd = readline.get_history_item(i) print("{:4d} {:s}".format(i, cmd)) #################### # COMMAND: exploit #
Example #17
Source File: isolate_readline_context.py From phpsploit with GNU General Public License v3.0 | 4 votes |
def isolate_readline_context(function): """A decorator for separating readline context. This decorator isolates readline context of target function or method. Use when phpsploit's readline context should be reset temporarly is the context of triggering function or method. Unlike `isolate_io_context`, this decorator keeps original stdout wrapper. """ def wrapper(*args, **kwargs): try: import readline handle_readline = True except ImportError: handle_readline = False if handle_readline: # backup & reset readline completer old_readline_completer = readline.get_completer() readline.set_completer((lambda x: x)) # backup & reset readline history old_readline_history = [] hist_sz = readline.get_current_history_length() for i in range(1, hist_sz + 1): line = readline.get_history_item(i) old_readline_history.append(line) readline.clear_history() try: retval = function(*args, **kwargs) finally: if handle_readline: # restore old readline completer readline.set_completer(old_readline_completer) # restore old readline history readline.clear_history() for line in old_readline_history: readline.add_history(line) return retval return wrapper
Example #18
Source File: isolate_io_context.py From phpsploit with GNU General Public License v3.0 | 4 votes |
def isolate_io_context(function): """A decorator for separating I/O context. This decorator isolates I/O context of target function or method. I/O Context is a mix of terminal related elements, such as current stdout and readline completer attributes. This decorator is useful if you run something that reconfigures the readline completer, or needs to use the default stdout file descriptor instead of the phpsploit's stdout wrapper. """ def wrapper(*args, **kwargs): try: import readline handle_readline = True except ImportError: handle_readline = False if handle_readline: # backup & reset readline completer old_readline_completer = readline.get_completer() readline.set_completer((lambda x: x)) # backup & reset readline history old_readline_history = [] hist_sz = readline.get_current_history_length() for i in range(1, hist_sz + 1): line = readline.get_history_item(i) old_readline_history.append(line) readline.clear_history() # backup & reset stdout old_stdout = sys.stdout sys.stdout = sys.__stdout__ try: retval = function(*args, **kwargs) finally: if handle_readline: # restore old readline completer readline.set_completer(old_readline_completer) # restore old readline history readline.clear_history() for line in old_readline_history: readline.add_history(line) # restore old stdout sys.stdout = old_stdout return retval return wrapper